首页 > 解决方案 > Java获取Icon中像素的RGB值

问题描述

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

我可以用

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

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

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

谢谢

标签: javaclickiconsrgb

解决方案


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

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

我主要关心的是性能,

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


推荐阅读