이제 다른 이미지의 픽셀을 pg에서 m의 소스 이미지 픽셀에 적용 할 수 있습니다. 하지만 문제는 그 그라디언트 또는 페이딩 효과를 잃어 버리는 것입니다.자바에서 투명한 픽셀의 색을 바꿉니다
public static void main(String[] args){
try {
BufferedImage image = ImageIO.read(new File("c:\\m.png"));
BufferedImage patt = ImageIO.read(new File("c:\\pg.png"));
int f = 0;
int t = 0;
int n = 0;
BufferedImage bff = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
for (int y = 0; y < image.getHeight(); ++y) {
for (int x = 0; x < image.getWidth(); ++x) {
int argb = image.getRGB(x, y);
int nrg = patt.getRGB(x, y);
if(((argb>>24) & 0xff) == 0) {
bff.setRGB(x, y, (255<<24));
} else {
bff.setRGB(x, y, nrg);
}
}
}
System.out.println("Trans : " + t + " Normal : " + n);
File outputfile = new File("c://imagetest.png");
ImageIO.write(bff, "png", outputfile);
} catch (IOException ex) {
}
}
감사합니다.
색상을 변경하지 마십시오 ... 투명도를 변경하십시오 – sanket
투명도를 변경하는 방법 –