BufferedImage图片渲染

13种生成图片的方式:
TYPE_INT_RGB = 1  表示一个图像,它具有合成整数像素的 8 位 RGB 颜色分量。
TYPE_INT_ARGB = 2  表示一个图像,它具有合成整数像素的 8 位 RGBA 颜色分量。
TYPE_INT_ARGB_PRE = 3  表示一个图像,它具有合成整数像素的 8 位 RGBA 颜色分量。
TYPE_INT_BGR = 4  表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 或 Solaris 风格的 BGR 颜色模型,具有打包为整数像素的 Blue、Green 和 Red 三种颜色。
TYPE_3BYTE_BGR = 5  表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 风格的 BGR 颜色模型,具有用 3 字节存储的 Blue、Green 和 Red 三种颜色。
TYPE_4BYTE_ABGR = 6  表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。
TYPE_4BYTE_ABGR_PRE = 7  表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。
TYPE_USHORT_565_RGB = 8  表示一个具有 5-6-5 RGB 颜色分量(5 位 red、6 位 green、5 位 blue)的图像,不带 alpha。
TYPE_USHORT_555_RGB = 9  表示一个具有 5-5-5 RGB 颜色分量(5 位 red、5 位 green、5 位 blue)的图像,不带 alpha。
TYPE_BYTE_GRAY = 10  表示无符号 byte 灰度级图像(无索引)。
TYPE_USHORT_GRAY = 11  表示一个无符号 short 灰度级图像(无索引)。
TYPE_BYTE_BINARY = 12  表示一个不透明的以字节打包的 1、2 或 4 位图像。
TYPE_BYTE_INDEXED = 13   表示带索引的字节图像。

测试程序:
public class ImageCutDownTest {
    public static void main(String[] args) {
        try {
            for(int i=1;i<=13;i++){   
                if (i==12) {
                    BufferedImage image = ImageIO.read(new File("C:/Users/Administrator/Desktop/0000.png"));
                    BufferedImage tempImage = new BufferedImage(640, 1008, i);
                    System.out.println(i + "===========" + tempImage.getType());
                    Graphics2D  g2D = (Graphics2D) tempImage.getGraphics();
                    g2D.drawImage(image, 0, 0, null);   
                    ImageIO.write(tempImage, "JPG", new File("D:/cut/c_com_"+i+".png"));  
                }

            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  

    }

}

你可能感兴趣的:(开发)