【发布时间】:2011-06-05 15:20:56
【问题描述】:
imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
这就是我想要做的:我有一个 600x1000px 大小的图像,我想在将该图像调整为 300x500px 后创建一个 100x100px 的拇指,拇指正方形左上角的 x 坐标应该是在 100(src x) 和 120(src y)。
根据我从手册中了解到,命令应该是
$dst_image = imagecreatetruecolor(100,100);
$src_image = imagecreatefromjpeg('/home/sandbox/imagetoresize.jpg');
imagecopyresized ($dst_image, $src_image, 0, 0, 100, 120, **300 , 500 , 600 , 1000** )
它可以很好地裁剪图像,但它没有正确调整它的大小。我从来没有得到它与我在图像编辑器(GIMP)中看到的相匹配。我究竟做错了什么?我确认所有数字都是正确的,但无论我做什么,它总是向上或向下移动。
【问题讨论】:
-
您在源图像中所做的是在 600 像素宽度中从 left-x = 100 像素切割到 right-x = 400 像素,因此它没有居中。然后在 1000 像素的总高度中使用 120 像素的顶部 y 和 620 像素的底部 y,因此它也不会以这种方式居中。
-
然后,在您的目标图像中,您从左上角开始,将 300x500 像素的图像打印成 100x100 的图像,所以我想右边的 200 像素和底部的 400 像素被切断了。
-
从您的图像编辑器中向我们展示所需的源图像和目标图像,也许我们会更清楚地了解您要做什么。
标签: php crop image-resizing