0

我正在处理 as3 中位图数据尺寸的最大限制。我正在尝试找到符合以下约束的最大宽度和高度,并保持图像当前的纵横比。我的图像是 2980 x 3220(宽 x 高)。

Bitmapdata 约束:在 AIR 1.5 和 Flash Player 10 中,BitmapData 对象的最大宽度或高度为 8,191 像素,像素总数不能超过16,777,215 像素。(因此,如果 BitmapData 对象的宽度为 8,191 像素,那么它的高度只能为 2,048 像素。)

如果你能让我知道你是如何得出答案的,那也太棒了

编辑:找到宽度和高度的值,其中宽度/高度 = 比率 = 0.9254658385 和宽度 * 高度 = 某个数字接近但不超过最大像素 (16,777,215)

4

1 回答 1

3

2980*3220=9595600。现在,如果我们将 16777216 除以这个数字,我们将收到您的位图在保持在约束 = 1.7484 的情况下还有多少像素。为了保持纵横比,您必须将宽度和高度都增加相同的百分比,因此我们需要取 this = 1.3222 的平方根(向下舍入到第 4 位)。将你的尺寸乘以这个,得到 3940*4257,总共 16772580 像素,宽度和高度都小于 8192。

因此,您的图像最多可以有 3940 宽和 4257 高。

于 2013-03-19T19:28:51.783 回答