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