我正在保存上传中的两张照片。一个是较大的照片,另一个是拇指。
我想知道我是否使用更少的资源来创建照片的拇指副本,从缩小的较大照片说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
答案 0 :(得分:1)
将2500x2500图像加载到内存中所需的内存比450x400要多得多。比如,+ 30倍以上。
另一方面,如果您已经加载它,那么您可以重复使用它而无需额外的内存使用(除了制作实际的第三个图像所需的内容)。
答案 1 :(得分: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);