在Flash中复制导入的图形

时间:2010-01-24 13:25:12

标签: flash actionscript-3 image duplication

我正在通过Loader Class加载图形。现在我需要将它用作原始图像和该图像的缩略图。唉,在AS3中没有“duplicateMovieClip”或类似的东西

如果我将它添加到普通视图然后再缩放到缩略图,则只显示缩略图,反之亦然。

我谷歌为此并在网上找到了几个解决方案,但它们似乎只是使用来自库的图像而不是从服务器加载。

那么,如何在不加载Image两次的情况下执行此操作?

2 个答案:

答案 0 :(得分:3)

如果只讨论位图图像,最简单的方法就是将BitmapData与另一个Bitmap实例共享。见下文:

var existingBitmap:Bitmap; //which you have from the loader
var thumbNail:Bitmap = new Bitmpap(existingBitmap.bitmapData);

thumbNail.witdth = 64;
thumbNail.height = 64;

addChild(thumbNail);

由于您使用的是加载程序,因此可以通过content属性访问外部加载的位图图像。

var existingBitmap:Bitmap = myLoader.content;

答案 1 :(得分:2)

根据您的需要,您有三种选择。

  1. 再次加载。到目前为止最简单,它仍然会被缓存,所以你不需要两次点击服务器。
  2. 使用BitmapData.draw()。创建一个bitmapdata并将你的加载器绘制到它,也非常简单,但你无需重绘就无法做任何动画。
  3. 加载它并加入你的图形类(仅适用于.swf)并使用它来实例化副本。看看getDefinitionByName。这有点棘手,因为你受沙盒的支配,但它也是最合适的方法。