我用一个非常简单的代码用PHP调整图像大小;但令人惊讶的是,它不适用于某些图像。问题应该与imagecreatefromjpeg()相关联,因为它会生成一个黑色图像(它是背景图像)。
$picture="test5.jpg";
$url="http://www.pokerpurist.com/uploadedImages/bettingpro/NewsImages/TN98553_Perla-Beltran.jpg";
list($width, $height) = getimagesize($url);
$new_height = $height / $width * 400;
$image_p = imagecreatetruecolor(400, $new_height);
$image = imagecreatefromjpeg($url);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 400, $new_height, $width, $height);
imagejpeg($image_p, $picture);
echo "<img src='$picture' />";
这个问题发生了,我包含了一个示例图片。导致这个问题的这些图像有什么问题?这似乎是一个普通的JPG图像。
顺便说一下,用PHP / GD2调整图像大小是最简单有效的方法吗?
答案 0 :(得分:2)
您的示例图片是PNG,而不是JPEG。您可能需要放置一些检测代码......
修改:exif-imagetype或ImageMagick可能会有所帮助。
答案 1 :(得分:2)
@顺便问一下,用PHP / GD2调整图像大小是最简单有效的方法吗?
使用Asido:PHP图像处理解决方案
Asido支持以下功能:
如果您无法访问Asido网站,可以从SourceForge.net下载Asido