【问题标题】: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 的更多信息以利用以下功能会对您有所帮助:
和其他人。例如,平滑可以使图像在缩放时看起来更好,但它可以算作过滤器,并且可能会影响性能。这就是为什么在绘制时最好在位图数据上应用平滑(绘制缩放图像是用矩阵完成的),而不是在位图上;但仅当您不打算在运行时缩放图像时。
希望能回答您的问题!