PHP:使用php裁剪时的黑色图像

时间:2010-12-14 17:57:15

标签: php

我设置了一个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

1 个答案:

答案 0 :(得分:5)

当裁剪尝试将图像移动到图像外的某个位置时,有时会变黑。

_________
|       |
|       | ____
|  0_o  | |  |
|   |   | |__|
|_______|

检查图像内部的宽度,高度和x / y偏移是否正确,并且数学运算不会将它们移动到图像区域外。