我正在尝试同时创建缩略图和调整图像大小,所以这里更清楚的是我要裁剪的图像:
我想剪掉那个红色区域。
现在我的问题是我在裁剪之前使用 html 调整图像大小,所以当我向 php 提交数据时,我得到的值不正确,就像y = 100
真的可能那样,y = 200
所以我需要找到一种方法来计算我的值。
我正在使用imagecopyresampled
,也许有比这个命令更好的东西?
我最接近的解决方案也是:
imagecopyresampled(
$thumb, //Destination image link resource.
$src, //Source image link resource.
0, //x-coordinate of destination point.
0, //y-coordinate of destination point.
0, //x-coordinate of source point.
0, //y-coordinate of source point.
120, //Destination width.
160, //Destination height.
$image_width/2, //Source width.
$image_height/2 //Source height.
);
在这种情况下,它会切掉左角,但大小与我的红色框不同。所以我想我需要正确source width
,source height
其他一切都应该完美契合,无论如何我希望我在这里有意义:)
编辑对不起我忘了提及,$image_width
并且$image_height
是原始图像大小
编辑 2更清楚地说,这是我使用此代码调整大小时得到的
$dimensions = getimagesize('testas.jpg');
$img = imagecreatetruecolor(120, 160);
$src = imagecreatefromjpeg('testas.jpg');
imagecopyresampled($img, $src, 0, 0, 0, 0, 120, 160, $dimensions[0]/2, $dimensions[1]/2);
imagejpeg($img, 'test.jpg');
调整大小的图像大小是正确的,但你可以它看起来不正确。