1

我正在保存上传的两张照片。一张是较大的照片,另一张是拇指。

我想知道我是否使用较少的资源从缩小的较大照片(例如 450 * 400)创建照片的拇指副本,或者从可以说 3mb 和说 2500px * 的原始照片创建拇指,或者它是 6 单向还是半打另一个?

imagecopyresampled($photo, $source, 0, 0, 0, 0, $photo_width, $photo_height, $width, $height);

imagecopyresampled($thumb_photo, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); // old way

imagecopyresampled($thumb_photo, $photo, 0, 0, 0, 0, $thumb_width, $thumb_height, $photo_width, $photo_height); // new way
4

2 回答 2

1

将 2500x2500 图像加载到内存中比 450x400 需要更多的内存。像,+ 30 倍以上。

另一方面,如果您已经在加载它,那么您可以在不使用额外内存的情况下重复使用它(除了制作实际的第三张图像所需的内容)。

于 2013-04-29T21:43:55.757 回答
0

是的,重用调整大小的图像来创建拇指是有意义的,但前提是您从内存中删除了原始图像:

imagecopyresampled($photo, $source, 0, 0, 0, 0, $photo_width, $photo_height, $width, $height);

imagedestroy($source);

imagecopyresampled($thumb_photo, $photo, 0, 0, 0, 0, $thumb_width, $thumb_height, $photo_width, $photo_height);
于 2013-04-29T21:49:42.827 回答