【问题标题】:Java Get RGB value of a pixel in IconJava获取Icon中像素的RGB值
【发布时间】: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 examplethis example

标签: java click icons rgb


【解决方案1】:

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

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

我主要关心的是性能,

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

【讨论】:

    猜你喜欢
    • 2019-03-11
    • 2015-03-07
    • 2023-03-24
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多