【问题标题】:Getting a bitmap of a spark window获取火花窗口的位图
【发布时间】:2014-08-21 09:27:10
【问题描述】:

我有一个正在开发的 AIR 应用程序,我想基本上在一个单独的 spark 窗口中获得一个位图,了解正在发生的事情。用例是 spark 窗口的缩放预览,可能会在投影仪上显示在主显示器上。我想将位图泵入火花图像作为源。谷歌搜索这似乎并没有透露太多,或者我只是不知道谷歌的条款。谁能指出我正确的方向?有人有更好的方法来实现这一点吗?

谢谢!

【问题讨论】:

  • 你要截屏吗?

标签: actionscript-3 apache-flex actionscript air flex4


【解决方案1】:

如果您想制作某个 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 的更多信息以利用以下功能会对您有所帮助:

  • 像素对齐
  • 平滑
  • 透明度

和其他人。例如,平滑可以使图像在缩放时看起来更好,但它可以算作过滤器,并且可能会影响性能。这就是为什么在绘制时最好在位图数据上应用平滑(绘制缩放图像是用矩阵完成的),而不是在位图上;但仅当您不打算在运行时缩放图像时。

希望能回答您的问题!

【讨论】:

  • 是的,这正是我所需要的!谢谢!
猜你喜欢
  • 2016-09-30
  • 1970-01-01
  • 2017-05-28
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
相关资源
最近更新 更多