【问题标题】:Image Resize Math, but not Resizing Itself图像调整数学大小,但不调整自身大小
【发布时间】:2016-07-16 06:25:10
【问题描述】:

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

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

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

谢谢。

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

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

$width  = $ratio * $width; 

$height = $ratio * $height;

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

【问题讨论】:

  • 您已经制作的脚本有什么问题?你为什么不在这里发布并解释你有什么问题?
  • 给你。我很想知道我哪里出错了。

标签: php image resize aspect-ratio


【解决方案1】:

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

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

上述内容可能会得到显着改进,但我只是为了说明这一点。

【讨论】:

  • 奇怪的是,这几乎就是我正在做的事情。让我把它插入,看看我是否得到不同的结果。感谢您的帮助!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多