获取火花窗口的位图

Posted

技术标签:

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

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

谢谢!

【问题讨论】:

你要截屏吗? 【参考方案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 的更多信息以利用以下功能会对您有所帮助:

像素对齐 平滑 透明度

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

希望能回答您的问题!

【讨论】:

是的,这正是我所需要的!谢谢!

以上是关于获取火花窗口的位图的主要内容,如果未能解决你的问题,请参考以下文章

将窗口内容显示为位图

将视图添加到窗口时如何获取视图宽度和高度?

我如何在 Windows 中获取正在运行的程序的窗口句柄 [关闭]

Spark Cassandra 连接器基础简单程序获取火花记录错误

Scala:使用火花从 scylla 获取数据

如何仅从 kafka 资源中获取值以激发火花?