我试图通过 x 简单地获取给定的 y 框并放大它,或者通过设置 x 并找到 y ,反之亦然。这个公式将如何在 Python 中表达(为了可读性)。我试图把这个盒子放在一个更大的盒子里,这样内盒总是能装在更大的盒子里。

最佳答案

注意:我真的不做 Python,所以这是伪代码。

您需要的是两个框的相对纵横比,因为这决定了哪个新轴必须与新框的大小相同:

r_old = old_w / old_h
r_new = new_w / new_h

if (r_old > r_new) then
   w = new_w              // width of mapped rect
   h = w / r_old          // height of mapped rect
   x = 0                  // x-coord of mapped rect
   y = (new_h - h) / 2    // y-coord of centered mapped rect
else
   h = new_h
   w = h * r_old
   y = 0
   x = (new_w - w) / 2
endif

关于python - 如何按比例(尊重纵横比)缩放矩形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6023488/

10-09 18:41