java AWT ImageIO(输入/输出位图)

来源:互联网 发布:工地记工软件 编辑:程序博客网 时间:2024/06/06 20:17

ImageIO可以访问磁盘上的位图文件,如GIF,JPG等格式图片。
ImageIO利用ImageReader和ImageWriter读写图形文件。
ImageIO类并不支持读写全部格式的图形文件,程序可以通过ImageIO类的如下几个静态方法来访问该类所支持读写的图形文件格式。
static String[] getReaderFileSuffixes():返回一个String数组,该数组列出ImageIO所有能读的图形文件后缀。
static String[] getReaderFormatNames():返回一个String数组,该数组列出ImageIO所有能读图形文件的非正式名称。
static String[] getWriterFileSuffixes():返回一个数组,该数组列出ImageIO所有能写图形的文件后缀。
static String[] getWriterFormatNamges():返回一个String数组,该数组列出ImageIO所有能写图形文件的非正式格式名称。

package javaAWT;import javax.imageio.ImageIO;public class ImageIOTest {    public static void main(String[] args) {        String[] readFormat = ImageIO.getReaderFormatNames();        System.out.println("Reader Format:");        for (String tmp : readFormat) {            System.out.print(tmp+" ");        }        String[] writeFormat = ImageIO.getWriterFormatNames();        System.out.println("\n");        System.out.print("Writer Formate:\n");        for (String tmp : writeFormat) {            System.out.print(tmp+" ");        }    }}//输出结果:Reader Format:JPG jpg bmp BMP gif GIF WBMP png PNG wbmp jpeg JPEG Writer Formate:JPG jpg bmp BMP gif GIF WBMP png PNG wbmp jpeg JPEG 
package javaAWT;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.security.KeyStore.PrivateKeyEntry;import javax.imageio.ImageIO;public class ZoomImage {    // 缩小后的图片大小    private final int WIDTH = 80;    private final int HEIGHT = 60;    // 定义一个BufferedImage对象,用于保存缩小后的位图    BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_BGR);    Graphics graphics = image.getGraphics();    public void zoom() throws Exception {        // 读取原始位图        Image srcImage = ImageIO.read(new File("D://123.jpg"));        // 将原始位图缩小后绘制到image对象中        graphics.drawImage(srcImage, 0, 0, WIDTH, HEIGHT, null);        // 将image对象输出到磁盘文件中        ImageIO.write(image, "jpeg", new File("D://"+System.currentTimeMillis() + ".jpg"));    }    public static void main(String[] args) {        try {            new ZoomImage().zoom();        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
原创粉丝点击