Преобразование Image в BufferedImage в Java

В этом руководстве мы увидим самый простой способ преобразования типа изображения в BufferedImage. В ролях (BufferedImage) image;   не работает, но можно создать новый объект BufferedImage с параметрами:
  • Length: img.getWidth()
  • Height: image.getHeight()
  • Пиксели и цвета:  BufferedImage.TYPE_INT_ARGB.
Преобразование очень простое, так как BufferedImage  наследуется от супер Image class.

public static BufferedImage toBufferedImage(Image img)
{
//если изображение имеет тип BufferedImage
//то мы только приведем
//потому что переданное изображение имеет тип BufferedImage
if (img instanceof BufferedImage)
{
return (BufferedImage) img;
}

// Создаем BufferedImage
BufferedImage bufimage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);

return bufimage;
}
TYPE_INT_ARGB представляет собой изображение с 8-битным типом RGB (RGB)  и поддерживает альфа-рендеринг и параметр прозрачности  класса  alphaComposite.

References:
http://stackoverflow.com/questions/221830/set-bufferedimage-alpha-mask-in-java