0

我目前正在使用 Java Applets 制作类似绘画的程序。我想通过使用递归和检查给定点周围的每个像素来模拟存储桶工具,但是我无法获取给定像素的 RGB 值。

有没有办法做一些事情,比如

public void paint(Graphics g) {
    g.getPixelAt(X, Y);
}

或者其他的东西?

4

2 回答 2

2

Graphics是虚拟概念,不支持您尝试做的事情

您需要做的是在可以与之交互的表面上进行绘制,例如BufferedImage.

基本思想是将所有效果绘制到此缓冲图像上,并Graphihcs#drawImage用于将图像实际渲染到屏幕上。

从那里您可以使用我们BufferedImage#getRaster,它将为您提供WritableRaster具有方法的对象get/setPixel

于 2013-01-25T05:03:58.190 回答
1

您可以使用 Applet.getLocationOnScreen() 和 java.awt.Robot.createScreenCapture() 来查找和捕获您想要的小程序部分。

这个问题提出了类似的问题。

于 2013-01-25T06:07:25.703 回答