Java Swing Tutorial - Java GraphicsConfiguration .createCompatibleVolatileImage (int width, int height, ImageCapabilities caps, int transparency)








Syntax

GraphicsConfiguration.createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) has the following syntax.

public VolatileImage createCompatibleVolatileImage(int width,      int height,      ImageCapabilities caps,      int transparency)      throws AWTException

Example

In the following code shows how to use GraphicsConfiguration.createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) method.

import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.awt.image.VolatileImage;
//w  ww. j av  a2  s  .  c  o  m
import javax.swing.ImageIcon;

public class Main {
    public static BufferedImage toBufferedImage(Image image) {
        if (image instanceof BufferedImage) {
            return (BufferedImage)image;
        }
    
        // This code ensures that all the pixels in the image are loaded
        image = new ImageIcon(image).getImage();
        // Create a buffered image with a format that's compatible with the screen
        BufferedImage bimage = null;
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        try {
            GraphicsDevice gs = ge.getDefaultScreenDevice();
            GraphicsConfiguration gc = gs.getDefaultConfiguration();
            VolatileImage vbimage = gc.createCompatibleVolatileImage(200,200,gc.getImageCapabilities(),Transparency.BITMASK);
        } catch (Exception e) {
            // The system does not have a screen
        }   
        return bimage;
    }
}