我有一堆产品预览图像,但它们的尺寸不同。
所以我想知道,是否可以在不保存的情况下随时随地裁剪图像?
这两个链接应该显示我的意思:
http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=12
http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=13
我有一堆产品预览图像,但它们的尺寸不同。
所以我想知道,是否可以在不保存的情况下随时随地裁剪图像?
这两个链接应该显示我的意思:
http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=12
http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=13
是的,这可能是我的做法:
//Your Image
$imgSrc = "image.jpg";
list($width, $height) = getimagesize($imgSrc);
$myImage = imagecreatefromjpeg($imgSrc);
// calculating the part of the image thumbnail
if ($width > $height)
{
$y = 0;
$x = ($width - $height) / 2;
$smallestSide = $height;
}
else
{
$x = 0;
$y = ($height - $width) / 2;
$smallestSide = $width;
}
// copying the part into thumbnail
$thumbSize = 100;
$thumb = imagecreatetruecolor($thumbSize, $thumbSize);
imagecopyresampled($thumb, $myImage, 0, 0, $x, $y, $thumbSize, $thumbSize, $smallestSide, $smallestSide);
//final output
header('Content-type: image/jpeg');
imagejpeg($thumb);
这不是一个非常简单的操作,就像其他操作一样,我也建议您在将缩略图创建到文件系统后将其保存。
您可能想查看PHP 的 GD 库。
这当然是可能的,但是您想要做的可能不是一个好主意-这就是原因。
如果您裁剪图像并保存它,您(或者更确切地说是您的服务器)再也不需要这样做了。这不是一个轻松的操作。
但是,如果您不断地进行裁剪,您的服务器将不得不每次都完成这项工作——这是非常低效的。
作为最坏的情况,为什么不自动将它们裁剪为您想要的尺寸(而不是手动进行)并简单地保存这些结果?
最后,鉴于它是一家商店,手动裁剪它们不会为您的产品提供最好的图像 - 从而获得最好的销售机会吗?