0

我创建了一个简单的 PHP 脚本来裁剪用户之前上传到服务器的图像,并将其作为某种缩略图保存在另一个文件夹中。

$src_x    = $_POST['left']; // Crop start x
$src_y    = $_POST['top'];  // Crop start y
$dst_w    = $_POST['dim'];  // Thumb width
$dst_h    = $_POST['dim'];  // Thumb height
$src_w    = $_POST['dim'];  // $src_x + $dst_w
$src_h    = $_POST['dim'];  // $src_y + $dst_h
$contact  = $_POST['contact'];
$ratio    = $_POST['ratio'];
$file_tmp = $_POST['file_tmp'];
$file_ext  = strtolower(end(explode('.', $file_tmp)));

$img_info = getimagesize($file_tmp);

if ($file_ext == 'png') {
    $src = imagecreatefrompng($file_tmp);
}
else if ($file_ext == 'jpeg' || $file_ext == 'jpg') {
    $src = imagecreatefromjpeg($file_tmp);
}
else if ($file_ext == 'gif') {
    $src = imagecreatefromgif($file_tmp);
}

$dst = imagecreatetruecolor(154, 154);

imagecopyresampled($dst, $src, 0, 0, $src_x * $ratio, $src_y * $ratio, 154, 154, $src_w * $ratio, $src_h * $ratio);

$img_name = $contact.'.png';
imagepng ($dst, '../images/invitados/'.$img_name);

该脚本适用于所有 jpeg / jpg / gif / png 的所有 jpeg / jpg / gif / png 的 100% 正常工作,除了用户使用 iPhoto 导入的那些图像......有谁知道发生了什么?我快疯了,因为我不知道问题可能出在哪里......脚本甚至没有返回黑色图像,所以它甚至没有创建png......

请帮忙!

非常感谢

4

1 回答 1

1

检查已从 iPhoto 导出的图像格式。iPhoto 中的照片可以导出为 JPEG | 巴布亚新几内亚| 国际电影节。

可能您尝试裁剪的图像是 TIFF 格式,脚本中不包含该格式。

于 2013-06-30T14:31:18.950 回答