我需要一个公式来缩放矩形以适应更大的<更宽的矩形。我只需要担心小矩形。
我所拥有的给定值是:
大矩形:
小矩形:
值与屏幕像素有关。
答案 0 :(得分:2)
scale = min(big.width/small.width, big.height/small.height)
这应该会给你最大的scale
,它仍然适合大的矩形。
答案 1 :(得分:1)
查找
a = width1 / height1;
b = width2 / height2;
if(a>b)
{
scale = height1 / height2;
point.y = y; (from big rectangle)
point.x = (width1 - width2 * scale) / 2 + x;
}
else
{
scale = width1 / width2;
point.x = x; (from big rectangle)
point.y = (height1 - height2 * scale) / 2 + y;
}
根据我的理解,这应该做你想要的。
编辑:请参阅PureW答案以获取比例。