zoukankan      html  css  js  c++  java
  • e666. 创建缓冲图像

    A buffered image is a type of image whose pixels can be modified. For example, you can draw on a buffered image and then draw the resulting buffered image on the screen or save it to a file. A buffered image supports many formats for storing pixels. Although a buffered image of any format can be drawn on the screen, it is best to choose a format that is the most compatible with the screen to allow efficient drawing. This example demonstrates several ways of creating a buffered image.

    If the buffered image will not be drawn, it can simply be constructed with a specific format; TYPE_INT_RGB and TYPE_INT_ARGB are typically used. See BufferedImage for a list of available formats.

    See also e667 在给定图像中创建缓冲图像.

        int width = 100;
        int height = 100;
        
        // Create buffered image that does not support transparency
        BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        
        // Create a buffered image that supports transparency
        bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    

    These examples create buffered images that are compatible with the screen:

        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice gs = ge.getDefaultScreenDevice();
        GraphicsConfiguration gc = gs.getDefaultConfiguration();
        
        // Create an image that does not support transparency
        bimage = gc.createCompatibleImage(width, height, Transparency.OPAQUE);
        
        // Create an image that supports transparent pixels
        bimage = gc.createCompatibleImage(width, height, Transparency.BITMASK);
        
        // Create an image that supports arbitrary levels of transparency
        bimage = gc.createCompatibleImage(width, height, Transparency.TRANSLUCENT);
    

    A screen compatible buffered image can also be created from a graphics context:

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

    One last way of 创建缓冲图像 is using Component.createImage(). This method can be used only if the component is visible on the screen. Also, 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
        }
    
    Related Examples
  • 相关阅读:
    最大最小值得判断代码
    等腰三角形的代码及各类代码
    Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别
    Java 集合类的特性
    Java 用程序给出随便大小的10 个数,序号为1-10,按从小到大顺序输出,并输出相应的序号?
    List、Map、Set三个接口,存取元素时,各有什么特点?
    Java 清除数组相同元素
    eclipse导入项目出现叹号处理方法:
    初学者-PHP笔记
    java 对象输入输出流
  • 原文地址:https://www.cnblogs.com/borter/p/9575500.html
Copyright © 2011-2022 走看看