gpt4 book ai didi

php - 调整图像大小并保持纵横比以适应 iPhone 的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:06 24 4
gpt4 key购买 nike

我正在为 iPhone 应用程序创建一个与之交互的网络服务。

当我的客户端在服务器端上传图片时,我希望我的 php 脚本调整图片大小,同时保持纵横比,以便它适合 iPhone 屏幕。 (即最长的边 <= 960 和最短的 <= 640

我用 JS 创建了一个模型,只是因为我发现它更容易快速完成。

我很确定这不是最有效的方法,尽管我可能错了。有人可以用更好的逻辑(尤其是开头的那一点)或更数学的方法来纠正我吗?

var w = 960, h = 960, new_w, new_h;
if (w >= h && w > 960 || h >= w && h > 960 || w >= h && h > 640 || h >= w && w > 640) {
if (w > h) {
if (w>960) {
new_w = 960;
new_h = h*(new_w/w);
}
if (h>640) {
new_h = 640;
new_w = w*(new_h/h);
}
}
else {
if (h>960) {
new_h = 960;
new_w = w*(new_h/h);
}
if (w>640) {
new_w = 640;
new_h = h*(new_w/w);
}
}
}

最佳答案

也许稍微短一点的例程是:

// Calculate resize ratios for resizing 
float ratioW = targetWidth / oldWidth;
float ratioH = targetHeight / oldHeight;

// smaller ratio will ensure that the image fits in the view
float ratio = ratioW < ratioH?ratioW:ratioH;

newWidth = oldWidth*ratio;
newHeight = oldHeight*ratio;

显然,如果比率 > 1,则它在扩大,如果 < 1,则它在缩小。

关于php - 调整图像大小并保持纵横比以适应 iPhone 的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com