2013-03-19 126 views
0

我正在使用as3中的bitmapdata尺寸的最大限制。我试图找到符合下面约束条件的最大宽度和高度,并保持我目前的图像纵横比。我的图像是2980 x 3220(宽x高)。获取图像的最大尺寸

的BitmapData约束: 在AIR 1.5和Flash播放器10,用于BitmapData对象的最大尺寸的宽度或高度 8191个像素,并且像素的总数不能超过16,777,215像素。 (因此,如果BitmapData对象的宽度为8,191像素宽,它只能为2,048像素。)

如果你可以让我知道你是如何得到你的答案,这将是真棒太

编辑: 发现宽度和高度值,其中宽度/高度比= = 0.9254658385 AND 宽×高=一些号码作为接近但不超过最大像素(16,777,215)

+0

16,777,215/8191 = 2,048 – 2013-03-19 19:11:33

+0

2980/3220!= 2048/8191 - >它必须保持长宽比 – pinktoad 2013-03-19 19:16:47

回答

3

2980 * 3220 = 9595600。现在,如果我们用这个数字除16777216,那么我们会在约束= 1.7484的情况下得到您的位图有多少像素。为了保持宽高比,你必须以相同的百分比增加宽度和高度,因此我们需要取这个= 1.3222的平方根(这是四舍五入)。通过这个乘以你的尺寸,得到3940 * 4257,总计16772580像素,并且宽度和高度都小于8192.

所以,你的图像最多可以有3940的宽度和4257的高度。

+0

你真棒谢谢你的一个很好的解释! – pinktoad 2013-03-19 19:30:54