【问题标题】:How to convert JLabel.getIcon() to BufferedImage如何将 JLabel.getIcon() 转换为 BufferedImage
【发布时间】:2013-01-09 04:48:17
【问题描述】:

我有一个只包含一个图标的 JLabel,我可以使用 label1.getIcon() 获取该图标,但我不知道如何将该图标转换为 BufferedImage。仅供参考,我不是在谈论 ImageIcon,只是在谈论 Icon。另外,我在How to convert Icon from JLabel into BufferedImage? 看到了这个问题,但我似乎无法弄清楚。

与往常一样,我们非常感谢任何示例或解释。 谢谢!

【问题讨论】:

  • label1.getIcon()label1是如何创建的?
  • JLabel label1 = new JLabel();....然后将其添加到 JLabel 数组中,但这并不重要。
  • “但我似乎无法弄清楚。”在您指定的问题中,AndrewThompson 的回答让您感到困惑的是什么?
  • “但这并不重要。” 是的,或者至少可能。由于您显然不知道如何做到这一点,因此不要对什么是必要的或不相关的做出结论是值得的。为了尽快获得更好的帮助,请发帖SSCCE
  • 我觉得你需要看看this question

标签: java swing user-interface jlabel bufferedimage


【解决方案1】:

你可以试试这个。

// Get the icon
Icon ico = label1.getIcon();
// Create a buffered image
BufferedImage bimg = new BufferedImage(ico.getIconWidth(), ico.getIconHeight(),
                                       BufferedImage.TYPE_INT_RGB);
// Create the graphics context
Graphics g = bimg.createGraphics();
// Now paint the icon
ico.paintIcon(null, g, 0, 0);
g.dispose();

【讨论】:

    【解决方案2】:

    由于JLabel.getIcon() 返回一个Icon,所以您想将Icon 转换为bufferedImage。我认为您需要view this question。在这里您可以获得将图标转换为的方法缓冲图像

    【讨论】:

    • 虽然我同意该链接很有帮助 - 我可能建议这更多的是评论而不是答案 - 恕我直言
    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2013-09-26
    • 2017-12-15
    • 2012-06-19
    • 1970-01-01
    相关资源
    最近更新 更多