快速截屏 Java

Posted

技术标签:

【中文标题】快速截屏 Java【英文标题】:Fast screen capture Java 【发布时间】:2015-12-14 02:15:08 【问题描述】:

我正在尝试使用一些连接到运行 Raspbian 的 Raspberry Pi 的 LED 灯条来创建流光溢彩。我正在使用 Java 构建一个应用程序,该应用程序必须读取屏幕四面的像素颜色,以便我可以使用这些颜色为屏幕后面的 LED 着色。

我尝试使用 robot.createScreenCapture() 制作屏幕截图,但运行该行需要 +- 45 毫秒,这会导致 LED 太晚改变颜色。

有没有人知道如何更快地创建屏幕截图或如何以另一种方式获得像素颜色以减少毫秒?

这是我目前用来截屏的方法:

Robot robot = new Robot();
Rectangle area = new Rectangle(0, 0, this.screenSize.width, this.screenSize.height);
BufferedImage bufferedImage = robot.createScreenCapture(area); //Slow line

【问题讨论】:

@WeareBorg 机器人类。 java.awt.Robot 如果你在循环中运行,你只需要运行robot.createScreenCapture(area); 说真的,我还以为机器人的孩子是机器人。我问它来自哪个框架。或者,如果它是您自己的实现,则显示 createScreenCapture 的代码 @WeareBorg createScreenCapture() 是机器人类的内置方法 @MartinDrost 你在循环运行这段代码吗? 【参考方案1】:

在机器人上使用getPixelColor()方法

【讨论】:

我试过了,但它只证明比createScreenCapture()慢,因为我必须得到很多像素的像素颜色

以上是关于快速截屏 Java的主要内容,如果未能解决你的问题,请参考以下文章

Android 截屏的三种方法

oppo怎么截屏

2种方式!带你快速实现前端截图

wpf如何截屏

Android 截屏方式

Mac快速上手