我有两个ImageIcons,我想创建第三个ImageIcon,它在nr1上绘制了nr2。我该如何做才是最好的呢?
发布于 2009-05-14 13:14:57
下面的代码从两个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通道的BufferedImage.TYPE_INT_RGB作为构造函数中的图像类型。
https://stackoverflow.com/questions/863223
复制相似问题