我设置了一个scritp上传一个jpeg,然后用缩略图裁剪它,但有些用户体验到黑色图像,老实说我不知道他们上传了什么,也许是一个与php库不兼容的jpeg jpeg ??
这是我的简单代码...当我尝试使用我的照片时,eveything工作正常,所以我不能理解为什么有些用户会将黑色图像作为缩略图...
$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);
更新:我发现了这个错误:基本上当用户尝试上传一个文件名为%20的空间时,会发生这种情况...所以我从javascriptajax传递filname的方式有问题在php中调用脚本... aargg..so dumb
答案 0 :(得分:5)
当裁剪尝试将图像移动到图像外的某个位置时,有时会变黑。
_________
| |
| | ____
| 0_o | | |
| | | |__|
|_______|
检查图像内部的宽度,高度和x / y偏移是否正确,并且数学运算不会将它们移动到图像区域外。