我想显示来自其他服务器的图像,但是保留纵横比的较小图像,我将不知道该图像的确切大小。我可以这样做吗?
答案 0 :(得分:2)
首先,您需要从其他服务器获取图像,因为您可以使用file_get_contents()
。
然后你需要一些代码来调整图像大小。由于您将图像内容放在字符串而不是本地文件中,因此可以使用imagecreatefromstring()
在此处尝试:
curl and resize remote image
如果您想要相对于原始尺寸调低尺寸,请使用getimagesizefromstring()
获取当前尺寸,然后根据您选择的百分比计算新尺寸。
$content = file_get_contents('http://site.com/image.jpg');
$originalSize = getimagesizefromstring($content);
$originalWidth = $originalSize[0];
$originalheight = $originalSize[1];
$newSize = 0.6; // 60% of the original size
$newWidth = $originalWidth * $newSize;
$newHeight = $originalHeight * $newSize;
// now you know what the resized width and height should be, you can go ahead and do the actual resizing