缩放图像以适应屏幕水平 - 算法

时间:2014-04-28 18:26:01

标签: algorithm

这是关于缩放图像以适应屏幕宽度的算法的一般性问题,有一些给定和一些约束。我们可以假设我们正在使用Java,但这个问题更依赖于语言,而且取决于语言。

首先,图像首先垂直加载并装入屏幕的尺寸,而不是水平。

initial

我们可以通过方法获取屏幕的尺寸和图像的尺寸,但是我们无法设置尺寸(我们只有吸气剂而不是设定器)。

imageWidth = image.getWidth(); //integer
imageHeight = image.getHeight(); //integer
screenWidth = screen.getWidth(); //integer
screenHeight = screen.getHeight(); //integer

调整图像大小的唯一方法是设置比例(基本上缩放)。

image.setScale(some float); // optionally image.setZoom(integer);

我想知道的是如何计算某些l x h图像的比例(缩放)级别,使其适合水平放置L x H屏幕?

second

1 个答案:

答案 0 :(得分:2)

要使图像填充屏幕,您需要做的就是沿x轴缩放:

scaling_factor = screen.getWidth()/image.getWidth()
image.setScale(zoom_factor);

公式非常直观:

  • 图像高度无关紧要。只要两幅图像的宽度相同,您想要的缩放对于横向和垂直图像都是相同的
  • 当图像宽度增加时,缩放系数会降低
  • 当您的屏幕尺寸增加时,缩放系数会增加。