我需要从图像中裁剪3X3像素素部分,然后将皱纹部分粘贴到另一张图像中。我使用drawImage方法粘贴部分。但是在这样做时,源图像的颜色会发生变化,而一些像素会变形。
int t1=0,t2=0;
targetFile=ImageIO.read(new File("Sky.png"));
for(int i=0;i<=6;i+=3){
for(int j=0;j<=6;j+=3){
Graphics g=targetFile.getGraphics();
BufferedImage dest=source.getSubimage(i, j, 3, 3);
g.drawImage(dest, t1,t2, Color.BLUE,null);
t1+=5;
t2+=5;
g.dispose();
}
}
File f2=new File("myimg1.jpg");
ImageIO.write(targetFile, "jpg", f2);
答案 0 :(得分:0)
好像你将文件保存为JPG。 JPG文件使用有损压缩算法存储,导致轻微的图形伪像,以节省空间,从而产生感知失真。
请尝试将其另存为无损格式,例如PNG。