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);
}