我有一个显示图片的区域,最大尺寸为240x180
如果我的图片尺寸为400x423,如何计算出一个新的宽度和高度,使得它最适合放入240x180的框中?(在这种情况下,它将是170x180)
可能有一些图像库做得不错,但数学很简单。
ratio = orig_x * 1.0 / orig_y;
x_oversized = (orig_x > MAX_X);
y_oversized = (orig_y > MAX_Y);
if (x_oversized OR y_oversized)
{
new_x = min(MAX_X, ratio * MAX_Y);
new_y = min(MAX_Y, MAX_X / ratio);
}
像这样吗?
$newheight = 180; $newwidth = $width * $newheight / $height;
height / maxheight > width / maxwidth
,则进行条件操作。如果为真,则执行上述操作;否则,在上述操作中交换高度和宽度。 - jon_darkstar