我需要在 AS3 中克隆从服务器加载的 .png 图像数据,这样我就不需要从服务器一次又一次地加载相同的数据。
在 AS3 中搜索克隆图像数据后,我能够通过 Internet 找到以下代码
clone = new Bitmap(Bitmap(this._loader.content).bitmapData.clone() )
通过使用此代码,我可以克隆位图数据,但我面临的问题是我的 png 背景是透明的。如果我将加载的 png 数据类型转换为位图,我的图标背景将变为白色。
任何帮助,将不胜感激。
嗨 Laurent 和 TheDarkIn1978,非常感谢您的快速回复和您的宝贵建议,
让我把全图摆在你们面前,
我正在尝试从服务器加载图标,这些图标必须显示在同一影片剪辑的多个位置。
为了显示图像数据,我创建了一个影片剪辑,在其中我通过调用 addChild() 函数直接将加载的内容添加为其子项。
现在,当我尝试在另一个影片剪辑上添加相同的图像数据作为它的 chil 时,就会出现问题,设置了新的数据父级,并且从先前添加的内容中删除了该图像。所以最后这个图标只显示在movieclip的一个位置(因为每个孩子都可以有一个父母)。
因此我想克隆图像数据并将其显示在屏幕上,当加载来自服务器的图像时,我调用以下函数将图像数据保存在本地,
private var _bmapData : BitmapData;
_bmapData = new BitmapData(_loader.width, _loader.height );
_bmapData.draw( this );
isImageLoaded=true;'
现在无论我在哪里显示这些数据,我都会调用以下代码来克隆 png 数据
var dup : Image = new Image();
dup.addChild(new Bitmap(_bmapData.clone()));
return dup;
我相信透明仅支持 png 格式,而不支持位图或 jpeg,因此我的背景图标变白了。
请提供帮助,因为我被卡住了,无法理解我的下一步。