Avatar billede krydset Nybegynder
25. april 2004 - 17:34 Der er 12 kommentarer og
1 løsning

resize flere billeder

Hejsa, jeg har det her Script som resizer et billede og laver et thump

Nu kunne jeg godt tænke mig at få det til at lave 4 thumbs ud fra 4 billeder

nogen der kan hjælpe med det?

<?PHP
/************************************************
*                                                *
*        Author: Thomas Larsen                    *
*        This script is resizing Pictures        *
*        E-Mail: Tlarsen@pc-dk.dk                *
*                                                *
************************************************/       

//Info om gammelt billede
//Henter billede her

include("shop/sider/dbconnect.php");
$res = mysql_query("SELECT * FROM produkter WHERE id = '2'");
while ($row = mysql_fetch_array($res)) { 
    $pic = "http://www.pc-dk.dk/shop/item_pic/$row[pic_sti_1]";
   
   
}

$thumb = 'thumbslogo.jpg';    //Billede der skal skrives til

//Henter størrelsen på billedet her og lægger det i et array
$size = getimagesize($pic);

//Udskrive størrelserne på billedet
echo "<br />" .$size[0]. "<br />";    //Width
echo "" .$size[1]. "<br />";            //Height

//finder nye størrelser
 
$new_width = $size[0] * 20 /100;    //Gør billede width 20% mindre
$new_height = $size[1] * 20 /100;    //Gør billede height 20% mindre
 
 
     


$pic_1 = imagecreatefromjpeg($pic);
$dest = imagecreate($new_width, $new_height);

imagecopyresized($dest, $pic_1, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($dest,$thumb);


// Vis vha html
echo '<img src="'.$thumb.'">';
?>
stirne til billederne ligger i database og hedder
$row[pic_sti_1]
$row[pic_sti_2]
$row[pic_sti_3]
$row[pic_sti_4]

Håber på lidt hjælp


Mvh Krydset
Avatar billede dennismp Nybegynder
25. april 2004 - 17:39 #1
<?PHP
function resie('org.jpg',$thumb);
echo '<img src="'.$thumb.'">';

.. hvis du vil gøre det med flere filer så kalder du bare resize() flere gange

resize('org1.jpg','thumb1.jpg');
echo '<img src="thumb1.jpg">';
resize('org2.jpg','thumb2.jpg');
echo '<img src="thumb2.jpg">';
resize('org3.jpg','thumb3.jpg');
echo '<img src="thumb3.jpg">';

function resize($pic,$thumb) {
//Henter størrelsen på billedet her og lægger det i et array
$size = getimagesize($pic);

//Udskrive størrelserne på billedet
echo "<br />" .$size[0]. "<br />";    //Width
echo "" .$size[1]. "<br />";            //Height

//finder nye størrelser
 
$new_width = $size[0] * 20 /100;    //Gør billede width 20% mindre
$new_height = $size[1] * 20 /100;    //Gør billede height 20% mindre

$pic_1 = imagecreatefromjpeg($pic);
$dest = imagecreate($new_width, $new_height);

imagecopyresized($dest, $pic_1, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($dest,$thumb);
}
?>
Avatar billede mjense173 Nybegynder
25. april 2004 - 17:40 #2
Kan du ikk bare lave en 'FOR' løkke omkring der hvor billedet hentes/gemmes?
Avatar billede krydset Nybegynder
25. april 2004 - 17:45 #3
HMMM FORSTÅ IKKE RIGTIGT hov caps nørd
Avatar billede dennismp Nybegynder
25. april 2004 - 17:48 #4
Hvem/hvad forstår du ikke?
Avatar billede krydset Nybegynder
25. april 2004 - 18:16 #5
dig dennismp, forstår ikke rigtig det du har skrevet ?
Avatar billede dennismp Nybegynder
25. april 2004 - 19:44 #6
Jeg har lagt din kald ind i en funktion.. den kan du så kalde lige så mange gange du har brug for.

Funktionen ser sådan her ud..
<?php
function resize($pic,$thumb) {
//Henter størrelsen på billedet her og lægger det i et array
$size = getimagesize($pic);

//Udskrive størrelserne på billedet
echo "<br />" .$size[0]. "<br />";    //Width
echo "" .$size[1]. "<br />";            //Height

//finder nye størrelser
 
$new_width = $size[0] * 20 /100;    //Gør billede width 20% mindre
$new_height = $size[1] * 20 /100;    //Gør billede height 20% mindre

$pic_1 = imagecreatefromjpeg($pic);
$dest = imagecreate($new_width, $new_height);

imagecopyresized($dest, $pic_1, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($dest,$thumb);
}
?>

du kalder resize med to argumenter. Det originale billede og det navnet på thumbnailen den skal oprette.

Som her:
<?php
$thumb = 'thumbslogo.jpg';
resize('org.jpg',$thumb);
echo '<img src="'.$thumb.'">';
?>
det vil gøre lige så meget som det oprindelig script. Men nu kan du jo nemt gøre det på flere filer ved at kalde resize() flere gange med navnene på de forskellige filer.
Avatar billede krydset Nybegynder
25. april 2004 - 19:58 #7
Jeg forstår ikke rigtigt hvordan du vil få det til at arbejde sammen med databasen :-O

Kan godt være jeg er dum, men jeg kan ikke se det :-S
Avatar billede dennismp Nybegynder
25. april 2004 - 20:07 #8
Hvis de ligger i disse variabler:

resize($row['pic_sti_1'],'thumb_'.$row['pic_sti_1']);
resize($row['pic_sti_2'],'thumb_'.$row['pic_sti_2']);
resize($row['pic_sti_3'],'thumb_'.$row['pic_sti_3']);
resize($row['pic_sti_4'],'thumb_'.$row['pic_sti_4']);

Så hvis $row['pic_sti_1'] er 'pic01.jpg', så vil den (forhåbenlig :) ) lave en thumbnail der hedder 'thumb_pic01.jpg'.
Avatar billede krydset Nybegynder
25. april 2004 - 21:10 #9
hmmm jeg får de her fejl


Warning: getimagesize(125903324_jennifer_lopez_04_104282c.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 4




Warning: imagecreatefromjpeg(125903324_jennifer_lopez_04_104282c.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 15

Warning: imagecreate(): Invalid image dimensions in c:\www\pc-dk.dk\dummy.php on line 16

Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 18

Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 19

Warning: getimagesize(125903324anything_else_full.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 4




Warning: imagecreatefromjpeg(125903324anything_else_full.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 15

Warning: imagecreate(): Invalid image dimensions in c:\www\pc-dk.dk\dummy.php on line 16

Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 18

Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 19

Warning: getimagesize(125903324the_sin_eater_full.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 4




Warning: imagecreatefromjpeg(125903324the_sin_eater_full.jpg): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 15

Warning: imagecreate(): Invalid image dimensions in c:\www\pc-dk.dk\dummy.php on line 16

Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 18

Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 19

Warning: getimagesize(125903324speed.JPG): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 4




Warning: imagecreatefromjpeg(125903324speed.JPG): failed to open stream: No such file or directory in c:\www\pc-dk.dk\dummy.php on line 15

Warning: imagecreate(): Invalid image dimensions in c:\www\pc-dk.dk\dummy.php on line 16

Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 18

Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\www\pc-dk.dk\dummy.php on line 19
Avatar billede krydset Nybegynder
25. april 2004 - 21:28 #10
okey det var stien der var forkert, kan du hjælp med at få noget ind så det bliver true color, det ser lidt forkert ud i farverne eller er det svært ??
Avatar billede dennismp Nybegynder
25. april 2004 - 23:00 #11
imagecreatetruecolor() istedet for imagecreate()
imagecopyresampled() istedet for imagecopyresized();
Avatar billede krydset Nybegynder
26. april 2004 - 08:51 #12
Så er der point smiid et svar
Avatar billede dennismp Nybegynder
26. april 2004 - 15:38 #13
Whee :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester