1

我正在尝试使用以下 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”上混合了值的顺序,但是即使在切换它们之后它也没有真正正确地调整大小,所以我仍在寻找一个好的解决方法。有关更多详细信息,请参阅我自己的答案

4

3 回答 3

3

尝试这个:

$tn = imagecreatetruecolor(739, 1162); // the first line in your script
于 2013-02-22T22:40:56.807 回答
0

问题是我为新的宽度和高度输入了错误的值,并将它们与旧的更改混合在一起。

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

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

认为它仍然没有完全工作,因为它将旧图像调整到更大的黑色空间。

在此处输入图像描述

于 2013-02-22T22:30:55.823 回答
0

我测试了您的脚本(使用 imagejpeg 的那个),它适用于我。所以可能在您的 GD 库配置/设置中...

于 2013-02-22T22:26:13.213 回答