java修改图片像素_Java读取图片并修改像素,创建图片

该博客介绍如何使用Java进行图片像素操作,包括读取图片后替换指定颜色的像素,以及创建新图片。通过`ImageIO`读取图片流,遍历每个像素检查颜色,用新的颜色替换匹配的颜色,并保存为PNG格式。同时展示了如何创建一个新的带有指定背景颜色的BufferedImage。
摘要由CSDN通过智能技术生成

public void replaceImageColor(String file, Color srcColor, Color targetColor) throwsIOException{

URL http;if(file.trim().startsWith("https")){

http= newURL(file);

HttpsURLConnection conn=(HttpsURLConnection) http.openConnection();

conn.setRequestMethod("GET");

}else if(file.trim().startsWith("http")){

http= newURL(file);

HttpURLConnection conn=(HttpURLConnection) http.openConnection();

conn.setRequestMethod("GET");

}else{

http= newFile(file).toURI().toURL();

}

BufferedImage bi=ImageIO.read(http.openStream());for (int i = 0; i < bi.getWidth(); i++) {for (int j = 0; j < bi.getHeight(); j++) {

System.out.println(bi.getRGB(i, j));if(srcColor.getRGB()==bi.getRGB(i, j)){

System.out.println(i+","+j+" from:"+srcColor.getRGB()+"to"+targetColor.getRGB());

bi.setRGB(i, j, targetColor.getRGB());

}

}

}

Iterator it = ImageIO.getImageWritersByFormatName("png");

ImageWriter writer=it.next();

File f= new File("c://test02.png");

ImageOutputStream ios=ImageIO.createImageOutputStream(f);

writer.setOutput(ios);

writer.write(bi);

bi.flush();

ios.flush();

ios.close();

}public void createImage(int width, int height) throwsIOException{

BufferedImage bi= newBufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);

Graphics2D graphic=bi.createGraphics();

graphic.setColor(new Color(0.2f,0.3f,0.4f,0.4f));

graphic.fillRect(0, 0, width, height);for (int i = 0; i < width; i++) {for (int j = 0; j < height; j++) {//result[i][j] = bi.getRGB(i, j) & 0xFFFFFF;

System.out.println(bi.getRGB(i, j));//bi.setRGB(i, j, 0xFFFFFF);

}

}

Iterator it = ImageIO.getImageWritersByFormatName("png");

ImageWriter writer=it.next();

File f= new File("c://test02.png");

ImageOutputStream ios=ImageIO.createImageOutputStream(f);

writer.setOutput(ios);

writer.write(bi);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值