获取火花窗口的位图

时间:2014-06-30 22:15:29

标签: actionscript-3 flex actionscript air flex4

我有一个我正在研究的AIR应用程序,我想在一个单独的火花窗口中基本上得到一个位图。用例是火花窗口的缩放预览,可能位于主显示器的投影仪上。我想将位图泵入火花图像作为源。谷歌搜索这似乎没有透露太多或我只是没有谷歌的条款。任何人都能指出我正确的方向吗?有人有更好的方法来实现这个目标吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你想制作一些DisplayObject的位图,无论是整个窗口(舞台)还是只是一个Sprite,你应该使用BitmapData的draw()方法。

以下代码将拍摄"屏幕截图"在整个舞台上,制作一个位图图像并将其缩放到左上角:

var bd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
bd.draw(stage);

var bitmap:Bitmap = new Bitmap(bd);
bitmap.width = 300;
bitmap.scaleY = bitmap.scaleX;
addChild(bitmap);

在Bitmap和BitmapData上阅读更多内容以利用以下功能对您有所帮助:

  • Pixel snapping
  • 平滑
  • 透明度

和其他人。例如,平滑是在缩放时使图像看起来更好的东西,但它算作过滤器并且可以是性能击球手。这就是为什么在绘图时对bitmapdata应用平滑效果更好(使用矩阵绘制缩放图像),而不是在位图上;但只有当你不打算在运行时缩放图像时才会这样做。

希望能回答你的问题!