Francesco
Francesco

Reputation: 25269

PHP: black image when cropping using php

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

Answers (1)

Xeoncross
Xeoncross

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

Related Questions