This tip demonstrates different aspects of creating a buffer image in the memory. The developer may store the buffer image in memory and then display it on screen. The buffer image doesn't have limitation of the format of the image, it may be stored in any format. Typically, developer may modify the pixels of the buffered according to its needs.

 int width = 100;
    int height = 100;
    
    // No.1 How to create buffered image 
    // that does not support transparency    
    BufferedImage bufimage = new BufferedImage(width, height, 
      BufferedImage.TYPE_INT_RGB);

    // OR
    // No.2 How to create a buffered image 
    // that supports transparency    
    bufimage = new BufferedImage(width, height, 
      BufferedImage.TYPE_INT_ARGB);

    //No.3 How to create buffered images 
    // that are compatible with the screen
    GraphicsEnvironment environment = 
      GraphicsEnvironment.getLocalGraphicsEnvironment();
    
    GraphicsDevice device = 
      environment.getDefaultScreenDevice();
      
    GraphicsConfiguration config = device.getDefaultConfiguration();
    
    // Create an image that does not support transparency (Opaque)
    bufimage = config.createCompatibleImage(width, height, 
      Transparency.OPAQUE);

    //OR
    // Create an image that supports transparent pixels
    bufimage = config.createCompatibleImage(width, height, 
      Transparency.BITMASK);

    //OR
    // Create an image that supports arbitrary 
    // levels of transparency (Translucent)
    bufimage = config.createCompatibleImage(width, height, 
      Transparency.TRANSLUCENT);

    // No.4 How to create a buffered image from 
    // a graphics context which is screen compatible

    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D)g;
        int width = 100;
        int height = 100;
    
        // Create an image that does not support 
        // transparency (Opaque)
        BufferedImage bimage = 
          g2d.getDeviceConfiguration().createCompatibleImage(
            width, height, Transparency.OPAQUE);
    
        //OR
        // Create an image that supports transparent pixels
        bimage = g2d.getDeviceConfiguration().createCompatibleImage(
            width, height, Transparency.BITMASK);
    
        //OR
        // Create an image that supports 
        // arbitrary levels of transparency
        bimage = g2d.getDeviceConfiguration().createCompatibleImage(
            width, height, Transparency.TRANSLUCENT);
    }

    // No.5 How to create a buffered image using 
    // Component.createImage(). Further, this is useful 
    // for the developer only if the component is visible 
    // on the screen. Moreover, this method returns 
    // buffered images that do not support transparent pixels.

    BufferedImage bimage = 
  (BufferedImage)component.createImage(width, height);
    if (bimage == null) {
        // The component is not visible on the screen
    }