您的位置:首页 > 编程语言 > Java开发

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

2017-10-11 22:48 435 查看
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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: