我有两个 ImageIcon,我想创建第三个 ImageIcon,它在 nr 1 上绘制了 nr 2。 我最好怎么做?
最佳答案
以下代码从两个 ImageIcon
中获取一个 Image
并创建一个新的 ImageIcon
。
第二个 ImageIcon
的图像绘制在第一个图像的顶部,然后生成的图像用于制作新的 ImageIcon
:
Image img1 = imageIcon1.getImage();
Image img2 = imageIcon2.getImage();
BufferedImage resultImage = new BufferedImage(
img1.getWidth(null), img1.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = resultImage.createGraphics();
g.drawImage(img1, 0, 0, null);
g.drawImage(img2, 0, 0, null);
g.dispose();
ImageIcon resultImageIcon = new ImageIcon(resultImage);
编辑 (修复了一些错误,添加了透明度支持。)
为了允许透明度,BufferedImage.TYPE_INT_ARGB
可以用于构造函数中的图像类型,而不是没有 alpha channel 的 BufferedImage.TYPE_INT_RGB
。
关于java - 图片图标 + 图片图标 = 图片图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/863223/