【发布时间】:2011-12-04 14:02:32
【问题描述】:
我使用了一个非常简单的代码来用 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 调整图像大小是最简单最有效的方法吗?
【问题讨论】:
-
您的帖子令人困惑...到底是什么问题?你是说你得到的是黑色图像吗?在这种情况下,
imagecopyresampled的参数设置错误,因为黑色是imagecreatetruecolor的默认值。 -
@alasdair 他的示例图片是带有 jpg 扩展名的 PNG...