我正在尝试使用以下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'上混合了值的顺序,但即使在切换它们之后它也没有真正正确调整大小,所以我仍然在寻找一个很好的修复方法。 See my own answer了解更多详情。
答案 0 :(得分:3)
试试这个:
$tn = imagecreatetruecolor(739, 1162); // the first line in your script
答案 1 :(得分:0)
我测试了你的脚本(那个使用imagejpeg的脚本)并且它在我的结尾工作。所以可能是你的GD库配置/设置......
答案 2 :(得分:0)
问题是我为新的宽度和高度添加了错误的值,并将它们与旧的更改混合。
imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162);
到
imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 739, 1162, 1836, 3264);
认为它还没有完全发挥作用,因为它将旧图像调整到更大的黑色空间。