title: How to decide which BufferedImage image type to use?
body: <p>Java BufferedImage class has a long list of class variables known as the image type which can be used as an argument for the BufferedImage constructor.</p>
  
  <p>However, Java docs did a minimal explanation what these image types are used for and how would it affect the BufferedImage to be created.</p>
  
  <p><strong>My question is:</strong> </p>
  
  <ol>
  <li><p>How would an image type affect the BufferedImage to be created? Does it control the number of bits used to store various colors (Red,Green,Blue) and its transparency?</p></li>
  <li><p>Which image type should we use if we just want to create </p>
  
  <ul>
  <li>an opaque image</li>
  <li>a transparent image</li>
  <li>a translucent image</li>
  </ul></li>
  </ol>
  
  <hr>
  
  <p>I read the description in the Java Doc many times, but just couldn't figure out how should we use it. For example, this one:</p>
  
  <blockquote>
    <p><strong>TYPE_INT_BGR</strong></p>
    
    <p>Represents an image with 8-bit RGB color components, corresponding to a Windows- or Solaris- style BGR color model, with the colors Blue, Green, and Red packed into integer pixels. There is no alpha. The image has a DirectColorModel. When data with non-opaque alpha is stored in an image of this type, the color data must be adjusted to a non-premultiplied form and the alpha discarded, as described in the AlphaComposite documentation.</p>
  </blockquote>