1

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

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

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

那么,如何在不必两次加载图像的情况下做到这一点呢?

4

2 回答 2

3

如果只是在谈论位图图像,最简单的事情就是与另一个 Bitmap 实例共享 BitmapData。见下文:

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;
于 2010-01-24T17:01:10.080 回答
2

根据你需要用它做什么,你有三个选择。

  1. 重新加载它。到目前为止,最简单的是,无论如何它都会被缓存,因此您不需要两次访问服务器。
  2. 使用 BitmapData.draw()。创建一个位图数据并将你的加载器绘制到它,也很容易,但是你不能做任何动画而不必重绘。
  3. 加载它并整理出图形的类(仅适用于.swf)并使用它来实例化副本。看看getDefinitionByName。这有点棘手,因为您受沙箱的支配,但这也是最合适的方法。
于 2010-01-24T13:31:58.720 回答