Convertir une Image en BufferedImage en Java

Dans ce tutoriel, nous allons voir la méthode la plus simple pour convertir le type image en BufferedImage. Le cast (BufferedImage) image; ne marche pas, mais il est possible de créer un nouveau objet BufferedImage avec les paramètres:
  • Longueur: img.getWidth()
  • Hauteur: image.getHeight()
  • Pixels et couleurs: BufferedImage.TYPE_INT_ARGB.
La conversion est très simple puisque la classe BufferedImage hérite de la super classe Image.

public static BufferedImage toBufferedImage(Image img)
{
//si l'image est de type BufferedImage
//alors on fait seulement le cast
//parce que l'image passée est de type BufferedImage
if (img instanceof BufferedImage)
{
return (BufferedImage) img;
}

// Créer une BufferedImage
BufferedImage bufimage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);

return bufimage;
}
TYPE_INT_ARGB représente une image avec 8 bits de type RGB (RVB) et supporte le paramètre alpha de rendu et de transparence de la classe alphaComposite.

Références:
http://stackoverflow.com/questions/221830/set-bufferedimage-alpha-mask-in-java