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








Syntax

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

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

Example

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

import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.VolatileImage;
//from ww  w. j a va  2 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());
        } catch (Exception e) {
            // The system does not have a screen
        }   
        return bimage;
    }
}