【问题标题】:What are the actual limits of a bitmap in flash?Flash 中位图的实际限制是什么?
【发布时间】:2010-11-18 14:56:32
【问题描述】:

我可以从this article 读取它,Flash 可以处理的最大方形位图是 4,095 x 4,095(这导致 16,769,025 像素和 bla-bla-bla)。所以,他们说如果我尝试达到 4,096 x 4,096,我会失败。但我尝试加载并显示大小为 4,096 x 4,096 的位图图像,并且效果很好。然后,我什至尝试了 5000 x 5000 大小的图像,这也没关系。我不明白什么?实际限制是多少?如何计算?

【问题讨论】:

    标签: flash actionscript-3 bitmap


    【解决方案1】:

    看看这个http://kb2.adobe.com/cps/496/cpsid_49662.html

    实际大小限制为 16,777,215 像素(相当于 0xFFFFFF 的十进制数)

    【讨论】:

      【解决方案2】:

      我认为这些限制是指您可以通过位图类在闪存中创建的内容,而不是您可以从外部加载的内容...但我可能是错的。

      【讨论】:

      • 是的,您可以通过 Loader\URLLoader\Socket 从网上加载任何内容,但如果大小超过 BitmapData 对象的限制,则不能将加载的数据放入 BitmapData。所以,如果你尝试加载一个 5000000x400000500450004 宽位图,你可以,但你不能对此做任何事情(除非你拆分它)
      • @pigiuz,你如何分割这样大小的图像?
      • @zzzzBov 它必须是原始格式(或使用 zlib 压缩)。当您加载它(通过 urlloader 或套接字)时,您将生成的字节数组分成块,您可以用它们填充一些预生成的位图数据.示例:您正在加载 5120x5120 原始 24 位 img。你通过 urlloader 加载它并获取它的字节数组。然后,您创建 n 个位图数据块(10x10 512px 边)和 n 个字节数组(512x512*4)。然后循环整个步幅并将读取的数据放入与正确块关联的字节数组中。最后,您循环所有图块并为每个图块调用 setPixels,并将关联的缓冲区作为参数传递
      • @pigiuz,我要写一个问题,以便您可以将其发布为答案。
      • @pigiuz,见this question
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      相关资源
      最近更新 更多