0

是否有一个 php 函数可以自行调整图像大小但不创建新文件?

我创建了一个简单的按比例调整图像大小的数学脚本,我意识到它不仅仅是几何图形,例如纵横比等。基本的几何数学会稍微压缩图像。

如果有人好奇,这只是为了让用户在他们选择下载时预览图像尺寸,但我宁愿不要用大量相似图像的大小变化来弄乱服务器:D。

谢谢。

编辑:根据请求,这是调整大小代码的关键部分:

$ratio = min( $resize_to / $width, $resize_to/ $height );   

$width  = $ratio * $width; 

$height = $ratio * $height;

当我看到输出的值时,我只是在 Photoshop 中使用这些值和 Photoshop 版本压缩来调整大小(我这样做是为了进行视觉测试),所以我假设我的代码有问题。

4

2 回答 2

3

在尊重纵横比的同时缩放图像所需的数学非常简单。一些伪代码:

original_width = <width of image before resizing>
original_height = <height of image before resizing>

new_width = <the max width desired for the resized image>
new_height = <the max height desired for the resized image>

if original_width >= original_height
  ratio = original_width / original_height
  new_height = new_width / ratio
else 
  ratio = original_height / original_width
  new_width = original_height / ratio
end

print "Width: " + new_width
print "Height: " + new_height

以上可能可以显着改善,但我只是想说明这一点。

于 2013-01-01T23:18:36.827 回答
0

这很好笑。我正在调整一个文件的大小,然后在 Photoshop 中检查另一个文件。人为错误。绕过街区过马路,不知不觉已经过马路了。。

于 2013-01-02T00:30:24.867 回答