Reputation: 25269
i set up a scritp that upload an jpeg and then crop it in a thumbnail, but some users experiences a black image, and honestly i dont know what they are uploading, maybe a jpeg with a compresison format not compatible with php libraries??
this is my simple code...eveything works fine when i try with my photos so i cant undestand why some users have a black image as resulting thumbnail...
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
imagecopyresampled($dst_r,$img_r,0,0,$x,$y,$targ_w,$targ_h, $w, $h);
imagejpeg($dst_r, $output_filename, $jpeg_quality);
UPDATE: i found out the bug: basically it happens when a user try to upload an image that has a filename that ontains spaces %20... so there is something wrong in the way i'm passing the filname from javascriptajax call to a script in php...aargg..so dumb
Upvotes: 2
Views: 2193
Reputation: 57294
Sometimes you get black when the crop is trying to move the image to a place outside of the image.
_________
| |
| | ____
| 0_o | | |
| | | |__|
|_______|
Check that the width, height, and x/y offsets are correct numbers inside the image and that the math isn't moving them to be ouside the image area.
Upvotes: 5