【发布时间】:2011-11-18 03:01:16
【问题描述】:
我有一个对象。它有一些原始宽度和高度。我得到了 new 宽度和高度。如何采用 new 给定的宽度和高度来对象原始对象? (假设我们有一个正方形1000x1000,并给出了一些所需的最大可能坐标,比如1900x1200,什么算法会从中产生1200x1200?或者在其他情况下,我们有1000x1000原始并给出400x600它应该返回400x400...)
所以我开始尝试创建一些可能会失败但失败的代码:
void resize_coefs(const int & original_w, const int & original_h, int & new_w, int & new_h)
{
double VW = new_w;
double VH = new_h;
double rw = original_w/VW;
double rh = original_h/VH;
if (rw>=rh){
new_h = VH;
new_w = rh*new_w + 2;
}
else
{
new_w = VW;
new_h= rw*new_h;
}
}
【问题讨论】:
-
不同意重复的标志。另一篇文章描述了如何缩放已更改纵横比的图像的坐标系。 OP 正在询问如何缩放图像并保留其原始纵横比。