Image 图像输出无法显示相同的输出结果
不确定它是否正确,但我有一个问题,就是用不同的方法来显示不同的结果 我的想法是:在2.png(大图像)上放上“Really original.png”(小图像) 这两个代码都运行良好,但是如果我试图注释掉method1的Image 图像输出无法显示相同的输出结果,image,graph,bufferedimage,imageicon,drawimage,Image,Graph,Bufferedimage,Imageicon,Drawimage,不确定它是否正确,但我有一个问题,就是用不同的方法来显示不同的结果 我的想法是:在2.png(大图像)上放上“Really original.png”(小图像) 这两个代码都运行良好,但是如果我试图注释掉method1的 g.drawImage(image,0,0,null)它只会显示“Really Original.png”这个部分,而其他部分都是黑色的。但是为什么method2没有这个问题呢 我还混淆了g.drawImage(图像img,x,y,图像img,)在这里img将是小图像(真的是原
g.drawImage(image,0,0,null)代码>它只会显示“Really Original.png”这个部分,而其他部分都是黑色的。但是为什么method2没有这个问题呢
我还混淆了g.drawImage(图像img,x,y,图像img,)代码>在这里img将是小图像(真的是原创的.png)???和x,y是大图像(2.png),我想把小图像放在那里
方法1:
方法2:
方法2不存在不绘制图像而不绘制图像的“问题”的原因是source
图像已经包含您不绘制的部分。如果这对你有任何意义的话(对不起,但很难理解你在问什么) g.drawImage(image2,0,icon.getIconHeight()-200,null)如果我错了,请告诉我。在这行中,意思是:在坐标x=0和y=0,icon.getIconHeight()-200 of 2.png(大图像)上绘制图像2(Really Original.png)。如果我描述的正确,这意味着我以前误解了这一行。它的意思是“将image2
(Really Original.png)绘制到g
(来自bufferedImage
)的x=0,y=icon
(2.png)-200位置(最后一个null
表示您不关心图像更新)。谢谢。你的最后一个普通人给了我我想要的。非常感谢你。
ImageIcon icon = new ImageIcon("C:/TEMP/2.png");
image = icon.getImage();
ImageIcon icon2 = new ImageIcon("C:/TEMP/Really Original.png");
image2 = icon2.getImage();
BufferedImage bufferedImage = new BufferedImage(icon.getIconWidth(),
icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawImage(image, 0, 0, null);
g.drawImage(image2, 0, icon.getIconHeight()-200, null);
try
{
File origFile = new File("C:/TEMP/2.png");
ImageIcon icon = new ImageIcon(origFile.getPath());
source = ImageIO.read(origFile);
logo = ImageIO.read(new File("C:/TEMP/Really Original.png"));
Graphics g = source.getGraphics();
g.drawImage(logo, 0, icon.getIconHeight()-200, null);
}
catch (Exception e)
{
e.printStackTrace();
}