apache-flex - 是否可以在不将 Sprite Asset 添加到显示列表的情况下调整其大小?

标签 apache-flex flash actionscript-3

我有一个嵌入式图像 Assets (带有 scale9 网格),我试图在调整大小时获取位图数据,但如果不将它添加到显示列表我似乎无法做到这一点。

我试试这个:

spriteAsset.setActualSize(w,h);
spriteAsset.width = w;
bmd.draw(spriteAsset);

但是当我用 graphics.beginBitmapFill() 绘制位图数据时,我只得到原始的未拉伸(stretch)图像。

有什么指点吗?还是我需要拍摄 9 个单独的 BitmapData 图像并制作 9 个单独的位图填充?

干杯, -乔希

最佳答案

我拍摄 scale9 Assets 的 BitmapData.draw() 快照的经验是,scale9 被丢弃,即使该 Assets 已添加到显示列表中也是如此。就我而言,这是一个错误,我不知道是否已报告。

除了 scale9 令人失望之外,不要忘记 BitmapData.draw 可以采用矩阵参数。默认情况下它为空,表示单位矩阵(无缩放、旋转等)。要拍摄转换后 Assets 的快照,您需要提供其转换矩阵...

bmd.draw(spriteAsset, spriteAsset.transform.matrix)

(抱歉,还没有仔细检查这些东西,所以 ymmv。)

关于apache-flex - 是否可以在不将 Sprite Asset 添加到显示列表的情况下调整其大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551014/

相关文章:

apache-flex - 在 AS3/Flex 中观察 ArrayCollection 的长度属性

javascript - jQuery 听起来 IE7/IE8 与 FlashExternalInterface 存在问题

apache-flex - sdk 中是否包含 Flex 调试器?

actionscript-3 - NetStream.info,出现错误 #2154

flash - 在Flex移动应用程序中处理多个音频流

C# System.Windows.Forms.WebBrowser 需要安装 Flash

android - AIR mobile 始终处于横向状态

actionscript-3 - Flash AS3 : 1026 Error: Constructor functions must be instance methods

apache-flex - MXML 和 Actionscript3 有什么区别

apache-flex - Flex ColdFusion CFC 位置