图像调整数学大小,但不调整自身大小

时间:2013-01-01 22:50:35

标签: php image resize aspect-ratio

是否有一个php函数会自动调整图像大小,但不会创建新文件?

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

如果有人好奇的话,只需要给用户预览图像尺寸,如果他们选择下载,但我不会因为大量相似图像的尺寸变化而使服务器混乱:D。

感谢。

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

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

$width  = $ratio * $width; 

$height = $ratio * $height;

当我看到值输出时,我只是在photoshop中使用值和photoshop版本的南瓜进行调整大小(我这样做是一个可视化测试),所以我认为我的代码有问题。

2 个答案:

答案 0 :(得分: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

上述情况可能会有显着改善,但我只是想说明这一点。

答案 1 :(得分:0)

这很有趣。我正在调整一个文件的大小,然后在photoshop中检查另一个文件。人为错误。在街区附近穿过街道,已经越过街道而不知道它。