剪出一部分图像(不调整大小/缩略图等)

时间:2010-06-05 11:32:57

标签: php image

任何方法我都可以剪切现有图像的一部分,然后将结果保存为新图像(文件)?

2 个答案:

答案 0 :(得分:5)

imagecopy允许您为src图像指定x,y,w,h参数。将其与imagecreatetruecolor结合使用,您就可以轻松实现自己想要的效果。 imagecopy的文档中甚至有一个例子:

// Create image instances
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);

// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

使用imagejpegimagepng将图像保存到文件中。

答案 1 :(得分:1)

您可以使用gd函数(manual)。

加载源图像(imagecreatefromstring()可能很有用,因此您不必指定图像的类型),创建输出图像(imagecreatetruecolor())并使用imagecopy() (如果你不想调整它的大小)。最后使用imagepng()输出图像,或将其保存到文件中。

请注意,gd不在内存中使用图像压缩,因此在创建高分辨率马赛克时,PHP进程可能需要大量RAM。尽快使用imagefree()