从另一台服务器调整图像大小并将其显示在我的网站中

时间:2012-03-09 07:59:26

标签: php

我想显示来自其他服务器的图像,但是保留纵横比的较小图像,我将不知道该图像的确切大小。我可以这样做吗?

1 个答案:

答案 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