繁体   English   中英

使用imagecopyresampled调整大小并使imagejpeg无法正常工作

[英]Resize with imagecopyresampled and imagejpeg not working

我正在尝试使用以下PHP脚本调整图片大小。

$tn = imagecreatetruecolor(1836, 3264);
$newImage = imagecreatefromjpeg('user/354010050076877/2.jpg');
imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162);
imagejpeg($tn, 'MyFile.jpg');

图像是在MyFile.jpg上创建的,但它仍然是原始大小。

我也尝试用...替换第4行

file_put_contents('MyFile.jpg', $tn);

当我尝试它返回

“警告:file_put_contents():提供的资源不是第6行/home/content/01/7258201/html/imgTools/resize.php中的有效流资源”

我需要在脚本中更改以使图像调整大小工作?

编辑:

我在'imagecopyresampled'上混合了值的顺序,但即使在切换它们之后它也没有真正正确调整大小,所以我仍然在寻找一个很好的解决方案。 有关详细信息, 请参阅我自己的答案

尝试这个:

$tn = imagecreatetruecolor(739, 1162); // the first line in your script

我测试了你的脚本(那个使用imagejpeg的脚本),它在我的最后工作。 所以你的GD库配置/设置中可能有些东西......

问题是我为新的宽度和高度设置了错误的值,并将它们与旧的更改混合。

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162);

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 739, 1162, 1836, 3264);

认为它还没有完全发挥作用,因为它将旧图像调整到更大的黑色空间。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM