【发布时间】:2021-08-10 06:49:02
【问题描述】:
我正在编写一个 MouseListener 点击事件,当我点击一个 JLabel 时,它会给我我点击的像素的 RGB 值。
我可以使用
mybufferedImage.getRGB(e.getPoint().x, e.getPoint().y
但是,我无法将图标检索为 BufferedImage。
我知道我可以检索 Icon 然后转换为 BufferedImage,但我想知道是否有一种等效的方法可以获取 Icon 的 RGB 值而无需转换为 BufferedImage?我主要关心的是性能,每次检索 RGB 值时,我都不想转换整个图像,尤其是在处理非常大的图像时。
谢谢
【问题讨论】:
-
就我个人而言,我不会为此使用
JLabel,而是使用BufferedImage和自定义组件来绘制它,您将获得更多的控制权和灵活性 -
您也可以将图标绘制为
BufferedImage,但您可能无法获得相同的颜色模型:/ -
也许可以考虑更多like this example或this example