gpt4 book ai didi

php - PHP 中的图像裁剪产生空白结果

转载 作者:可可西里 更新时间:2023-11-01 00:53:20 24 4
gpt4 key购买 nike

我只是尝试使用 PHP 裁剪 JPEG 图像(无缩放)。这是我的函数以及输入。

function cropPicture($imageLoc, $width, $height, $x1, $y1) {
$newImage = imagecreatetruecolor($width, $height);

$source = imagecreatefromjpeg($imageLoc);
imagecopyresampled($newImage,$source,0,0,$x1,$y1,$width,$height,$width,$height);
imagejpeg($newImage,$imageLoc,90);
}

当我按如下方式调用它时--cropPicture('image.jpg', 300, 300, 0, 0)--函数正确完成,但我留下了一张黑色图像即 300x300 像素(换句话说,空白 Canvas )。我是否传递了错误的参数?

图像存在且可写。

最佳答案

作为 sobedai 回答的补充:任何 您在 cropPicture() 中使用的那些函数都可能失败。您必须测试每个 的返回值。如果出现错误,它们会返回 false 并且您的函数无法(正确)继续。

function cropPicture($imageLoc, $width, $height, $x1, $y1) {
$newImage = imagecreatetruecolor($width, $height);
if ( !$newImage ) {
throw new Exception('imagecreatetruecolor failed');
}

$source = imagecreatefromjpeg($imageLoc);
if ( !$source ) {
throw new Exception('imagecreatefromjpeg');
}

$rc = imagecopyresampled($newImage,$source,0,0,$x1,$y1,$width,$height,$width,$height);
if ( !$rc ) {
throw new Exception('imagecopyresampled');
}

$rc = imagejpeg($newImage,$imageLoc,90);
if ( !$rc ) {
throw new Exception('imagejpeg');
}
}

编辑:您可能还对 http://docs.php.net/error_get_last 感兴趣.示例脚本中的异常消息没有太大帮助...

关于php - PHP 中的图像裁剪产生空白结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com