【问题标题】:intermittent bitmapdata draw with scaling matrix使用缩放矩阵进行间歇性位图数据绘制
【发布时间】:2009-09-11 22:29:35
【问题描述】:

我们发现,当我们使用draw 将一个位图数据绘制成另一个位图数据时,缩放变换有一个上限。在某些时候,IBitmapDrawable 参数停止在目标位图上呈现。

有谁知道这个上限的参数是什么?这是否记录在某处?

【问题讨论】:

    标签: flash actionscript-3 actionscript


    【解决方案1】:

    docs 说:

    最大宽度和最大高度 BitmapData 对象的像素为 2880 像素。

    我猜这就是你达到的极限。

    【讨论】:

      【解决方案2】:

      注意:在 flash 10 中,该限制已被删除

      【讨论】:

        【解决方案3】:

        实际上这个主题非常棘手...有一些记录的限制,但在不同的场景和 Flash Player 版本中存在许多不同的未记录限制...例如,查看这篇文章及其 cmets: http://www.bit-101.com/blog/?p=2067

        如果你允许我引用我自己的话^^

        我也遇到过同样的问题,我认为 这不是真正的平局() 限制,但是一个 DisplayObject …… 例如:

        var bmp=new BitmapData(8000,100,false,0);
        var bmp2=new BitmapData(8000,10,false,0xFF0000);
        bmp.draw(bmp2);
        

        完美运行...与其他相同 fillRect 和 applyFilter 等方法。 但是,如果您尝试 draw() 任何超过 4079 像素的 DisplayObject 水平方向,或垂直方向 4082 (根据getColorBoundsRect)。

        此外,SO 中有一些类似问题的主题: maximum size of a sprite in as3?

        【讨论】:

          【解决方案4】:

          虽然当 constructed 时 BitmapData 的大小有上限(f9 中为 2880x2880,f10 中总像素区域为 16,775,168),但我们发现在转换 bitmapData 并仅绘制它的一部分时应用的约束略有不同。

          如果您的 bitmapData 大小为 1x1px,您可以将其缩放到最大 8191x8191px(比您可以在 f10 中构建的 BitmapData 大得多)并将该位图绘制到另一个位图中。如果您将位图缩放得比这更大,它就不会显示出来。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-11-08
            • 2021-11-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-09
            相关资源
            最近更新 更多