// Transform as TYPE_INT_ARGB or TYPE_INT_RGB (much faster than calling image.getRGB())
BufferedImage tmp = new BufferedImage(image.getWidth(), image.getHeight(),
this.texture.getFormat() == Texture.RGBA ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D)tmp.getGraphics();
g.drawImage(image, null, 0, 0);
g.dispose();
image = tmp;
}
imageBits = (int [])image.getRaster().getDataElements(0, 0, image.getWidth(), image.getHeight(), null);
this.transparent = image.getTransparency() != BufferedImage.OPAQUE;
this.imageBits = new WeakReference<int[]>(imageBits);