我目前正在使用 Java Applets 制作类似绘画的程序。我想通过使用递归和检查给定点周围的每个像素来模拟存储桶工具,但是我无法获取给定像素的 RGB 值。
有没有办法做一些事情,比如
public void paint(Graphics g) {
g.getPixelAt(X, Y);
}
或者其他的东西?
Graphics
是虚拟概念,不支持您尝试做的事情
您需要做的是在可以与之交互的表面上进行绘制,例如BufferedImage
.
基本思想是将所有效果绘制到此缓冲图像上,并Graphihcs#drawImage
用于将图像实际渲染到屏幕上。
从那里您可以使用我们BufferedImage#getRaster
,它将为您提供WritableRaster
具有方法的对象get/setPixel
。
您可以使用 Applet.getLocationOnScreen() 和 java.awt.Robot.createScreenCapture() 来查找和捕获您想要的小程序部分。
这个问题提出了类似的问题。