- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我写的截屏类:
public class imagemanipulation {
Dimension screenResolution;
Rectangle screenRectangle;
Robot robot;
imagemanipulation() {
try {
screenResolution = Toolkit.getDefaultToolkit().getScreenSize();
screenRectangle = new Rectangle(screenResolution);
robot = new Robot();
} catch (AWTException ex) {
Logger.getLogger(imagemanipulation.class.getName()).log(Level.SEVERE, null, ex);
}
}
public BufferedImage newScreenshot() {
BufferedImage image = robot.createScreenCapture(screenRectangle);
return image;
}
}
我正在做的是在从上面截取的屏幕截图上使用 BufferedImagewhatever.getRGB(x,y)
,并将它的坐标用于另一幅图像的一部分,然后返回 x和找到匹配项的 y 位置。这适用于黑白图像,但不适用于彩色图像。我遇到的问题是 createScreenCapture
正在更改屏幕截图的原始颜色,因此当我将使用 createScreenCapture
拍摄的图像与另一张图像进行比较时从不工作。
我认为 createScreenCapture
必须减少屏幕截图中的颜色数量才能提高效率,但有什么办法可以阻止它这样做吗?
最佳答案
作为引用,这个example允许人们单击并拖动到桌面上的一个点,显示周围屏幕的放大图像。捕获后,当鼠标在捕获的图像上移动时,颜色会显示在工具提示中。我已经使用我平台上的实用程序验证了结果是正确的。您可以将其与您的程序和结果进行比较。
关于java - Robot.createScreenCapture 正在改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542054/
我有代码: Rectangle area = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage bi
这是我写的截屏类: public class imagemanipulation { Dimension screenResolution; Rectangle screenRecta
我一直在尝试构建一个屏幕录像机来练习我萎缩的 Java 技能(尽管已经有太多了)。 但是,我遇到了 Robot 类速度慢得离谱的问题——即使在我的 i7 动力机器上也可能是 15fps,而在我的 ma
以下代码捕获屏幕: import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.a
我需要抓取一系列屏幕截图并将它们连接成一部电影。我正在尝试使用 java Robot 类来捕获屏幕。 但是 createScreenCapture() 方法在我的机器上需要超过 1 秒的时间。我什至无
我几乎想知道的是,在使用 java.robot.createScreenCapture() 截取屏幕截图时,是否有任何方法可以获得 alpha/透明度? 最佳答案 不,据我所知没有。老实说,我认为这没
我尝试在 Windows 7 上使用以下代码捕获屏幕 Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScre
我有一个常见的问题,当 rdp session 关闭时屏幕截图变成黑色。没有找到解决此问题的任何有效答案。我有 java-selenium 测试。代码: private void screenShot
在我的 Java 程序中,我需要分析给定坐标中像素的颜色。由于我需要经常这样做,所以我首先捕获屏幕的一部分,然后获取像素颜色。我正在这样做: BufferedImage bi = robot.crea
我正在编写一个以设定的时间间隔捕获屏幕的程序,当我开始测试时,我发现在它开始捕获图片后几乎立即出现了 OutOfMemoryException。我尝试分配更多内存 - 我给了它 256m,但这几乎没有
我正在制作一个程序,要求每秒至少捕获 24 个屏幕截图。目前使用下面的代码,我每大约 94 毫秒只能得到 1 个,所以大约每秒 10 个。 我不想使用任何第 3 方库,因为我试图让它尽可能小,但如果我
我正在 try catch 屏幕而不包括我的应用程序窗口。为此,我首先调用 setVisible(false),然后调用 createScreenCapture 方法,最后调用 setVisible(
如果我运行这段代码: BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToo
我的电脑上有两个屏幕。我尝试在每个屏幕上进行屏幕截图。我正在使用以下代码: GraphicsDevice[] screens = GraphicsEnvironment.getLocalGraphic
我是一名优秀的程序员,十分优秀!