我有一个宽度为500,高度为240的控件,我想保持宽高比。
控件的宽度调整为400.等式重新计算新高度是什么?
克里斯
答案 0 :(得分:7)
代数告诉我们它应该是:
height = 400 * 240 / 500;
您可以通过存储宽高比来简化这一点
double ratio = 240 / 500;
// on resize
control.Height = (int)(control.Width * ratio);
答案 1 :(得分:0)
我会这样做:
(Get ratio, 0.8 in this case) * Multiply by it
(New Width/ Old Width) * Old Height
答案 2 :(得分:0)
像newHeight = oldHeight/oldWidth*newWidth
这样的东西,有几个检查除以0。
答案 3 :(得分:0)
400 * 240/500
答案 4 :(得分:0)
float aspect = (float)original.Height / (float)original.Width;
int newHeight = (int)(newWidth * aspect);