Java获取Icon中某个像素点的RGB值

Java Get RGB value of a pixel in Icon

我正在编写一个 MouseListener 点击事件,当我点击一个 JLabel 时,它会给我点击的像素的 RGB 值。

我可以用

mybufferedImage.getRGB(e.getPoint().x, e.getPoint().y

但是,我无法将图标作为 BufferedImage 检索。

我知道我可以检索图标,然后转换为 BufferedImage,但我想知道是否有等效的方法来获取图标的 RGB 值而无需转换为 BufferedImage?我主要关心的是性能,每次我检索 RGB 值时我不想转换整个图像,尤其是当我处理非常大的图像时。

谢谢

您可以使用 Robot.getPixelColor(...) 方法获取屏幕上给定点的像素颜色。

您首先需要使用 SwingUtilities.convertPointToScreen(...) 方法将鼠标点转换为屏幕上的一个点。

My main concern is performance,

不是真正的问题。我的意思是你可以多快地点击鼠标?