1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public static void combineImages(BufferedImage image1, BufferedImage2){
BufferedImage imageToReturn=new BufferedImage(image1.getWidth(), image1.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D graphicsToReturn= (Graphics2D) imageToReturn.getGraphics();
graphicsToReturn.setComposite(AlphaComposite.Src);
// Copie l'image1 dans imageToReturn tout simplement en écrasant toutes les valeurs précedemment contenue dans imageToReturn (à cause de AlphaComposite.Src)
graphicsToReturn.drawImage(image1, 0, 0, null);
//Ici makeTransparent() est une méthode qui transforme tous les pixel de la couleur passée en paramètre dans l'image par la même couleur mais avec un canal alpha à 00.
//j'ai essayé de changer le graphicsToReturn.setComposite() à d'autres valeurs sans succès. La deuxieme image insérée "écrase" toujours celle insérée en premier.
graphicsToReturn.setComposite(AlphaComposite.SrcOver);
graphicsToReturn.drawImage(makeTransparent(image2, new Color(0xFFFFFFFF),0, 0, null);
} |
Partager