|
| GD-lib problem Fra : Sinkbæk |
Dato : 17-09-02 16:45 |
|
Hej folkens!
Jeg har i et stykke tid prøvet at få nedenstående script-klip til at virke -
uden held. Problemet er at når jeg forsøger at køre scriptet - der skal
resize et billede - står min browser bare og tygger på det - indtil den
timer out - og billedet bliver ikke resized.
Nogen herinde der er bekendt med ændringer i PHP version 4.2.2, som har
indflydelse på behandlingen af billeder under gd-lib?
<..snip>
$src_img = imagecreatefromjpeg($new_name);
$w = gdimagesx($src_img);
$h = gdimagesy($src_img);
$prop = $w / $h;
$new_w = 200;
$new_h = $new_w / $prop;
$dst_img = gdimagecreatetruecolor($new_w, $new_h);
gdimagecopyresampled($dst_img, $src_img, 0,0, 0,0, $new_w,$new_h, $w,$h);
gdimagejpeg($dst_img, $new_name);
</snap..>
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
| |
[9000] Rasmus Vester~ (17-09-2002)
| Kommentar Fra : [9000] Rasmus Vester~ |
Dato : 17-09-02 21:10 |
|
"Sinkbæk" <thomas@FJERN_DETTEsinkbaek.com> wrote in message news:am7il1$89s$1@sunsite.dk...
> Hej folkens!
>
> Jeg har i et stykke tid prøvet at få nedenstående script-klip til at virke -
> uden held. Problemet er at når jeg forsøger at køre scriptet - der skal
> resize et billede - står min browser bare og tygger på det - indtil den
> timer out - og billedet bliver ikke resized.
>
> Nogen herinde der er bekendt med ændringer i PHP version 4.2.2, som har
> indflydelse på behandlingen af billeder under gd-lib?
>
> <..snip>
> $src_img = imagecreatefromjpeg($new_name);
> $w = gdimagesx($src_img);
> $h = gdimagesy($src_img);
> $prop = $w / $h;
> $new_w = 200;
> $new_h = $new_w / $prop;
> $dst_img = gdimagecreatetruecolor($new_w, $new_h);
> gdimagecopyresampled($dst_img, $src_img, 0,0, 0,0, $new_w,$new_h, $w,$h);
> gdimagejpeg($dst_img, $new_name);
> </snap..>
Hmm er du sikker på der er noget der hedder gdimagesx() . Det er der ikke iølge manualen.
Ved ikke helt hvad der er galt, men poster lige den funktion jeg plejer at bruge til at resize med..
function resizeJpg($src_file, $maxH, $maxW, $append) {
$src_img = imagecreatefromjpeg("./images/".$src_file);
$w=ImageSX($src_img);
$h=ImageSY($src_img);
$ratio=$w/$h;
if ($maxW<1) $maxW=10000;
if ($maxH<1) $maxW=10000;
if ($maxW < $maxH*$ratio) $maxH=$maxW/$ratio;
else $maxW=$maxH*$ratio;
$dst_img = imagecreate($maxW,$maxH);
imagecopyresized($dst_img, $src_img,0,0,0,0,$maxW,$maxH,ImageSX($src_img),ImageSY($src_img));
$path="./images/thumbs/".substr($src_file, 0,-4)."$append.jpg";
imagejpeg($dst_img, $path);
return $path;
}
Håber den kan bruges
Mvh
Rasmus Hansen
| |
Sinkbæk (17-09-2002)
| Kommentar Fra : Sinkbæk |
Dato : 17-09-02 21:57 |
|
> Hmm er du sikker på der er noget der hedder gdimagesx() . Det er der ikke
> ifølge manualen.
Hej igen!
Jeg har også prøvet med:
<..snip>
$src_img = imagecreatefromjpeg($new_name);
$w = imagesx($src_img);
$h = imagesy($src_img);
$prop = $w / $h;
$new_w = 200;
$new_h = $new_w / $prop;
$dst_img = imagecreatetruecolor($new_w, $new_h);
imagecopyresampled($dst_img, $src_img, 0,0, 0,0, $new_w,$new_h, $w,$h);
imagejpeg($dst_img, $new_name);
</snap..>
- der sker det samme: browseren står og tygger på det indtil den timer out
og billedet bliver ikke resized.
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
| |
Allan E (18-09-2002)
| Kommentar Fra : Allan E |
Dato : 18-09-02 08:27 |
|
"Sinkbæk" <thomas@FJERN_DETTEsinkbaek.com> wrote in message
news:am84vq$kub$1@sunsite.dk...
> - der sker det samme: browseren står og tygger på det indtil den timer out
> og billedet bliver ikke resized.
Er du sikker på at du har skriverettigheder til den mappe, det resized
billede skal skrives til??
Mvh Allan E
| |
Sinkbæk (18-09-2002)
| Kommentar Fra : Sinkbæk |
Dato : 18-09-02 11:40 |
|
> Er du sikker på at du har skriverettigheder til den mappe, det resized
> billede skal skrives til??
Ja, 100% - har tjekket det, plus mange andre ting.
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
| |
Nezar Nielsen (18-09-2002)
| Kommentar Fra : Nezar Nielsen |
Dato : 18-09-02 14:00 |
|
Sinkbæk wrote:
>
> Jeg har også prøvet med:
har du prøvet at indsætte nogle kommentarer:
> <..snip>
> $src_img = imagecreatefromjpeg($new_name);
print "image loaded<br>\n";
> $w = imagesx($src_img);
print "got height<br>\n";
> $h = imagesy($src_img);
print "got width<br>\n";
> $prop = $w / $h;
> $new_w = 200;
> $new_h = $new_w / $prop;
> $dst_img = imagecreatetruecolor($new_w, $new_h);
print "created new image pointer<br>\n";
> imagecopyresampled($dst_img, $src_img, 0,0, 0,0, $new_w,$new_h, $w,$h);
print "resized image into new pointer<br>\n";
> imagejpeg($dst_img, $new_name);
print "saved image<br>\n";
Jeg kunne umiddelbart godt forestille mig at den ikke er glad for at du
har en filpointer åben for $new_name ($src_img), imens du skriver til
filen i slutningen.. prøv evt. at frigøre $src_img efter du har
copyresampled..
--
Mvh. Nezar Nielsen
Nano - Advanced Simplicity
http://www.nano.dk/
| |
|
|