使用J2SE1.4新特性来获取图象资源
下面的这个例子示范怎样使用javax.imageio包来从一个文件、输入流或URL获取图象资源,同时也示范了如何来把Image显示到屏幕上. javax.imageio包默认支持GIF,PNG和JPEG格式的图片,这个例子只能工作在J2SE1.4或以上版本
Image image = null;
try {
File file = new File("image.gif");
image = ImageIO.read(file);
InputStream is = new BufferedInputStream(
new FileInputStream("image.gif"));
image = ImageIO.read(is);
URL url = new URL("http://hostname.com/image.gif");
image = ImageIO.read(url);
} catch (IOException e) {
}
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
包javax.imageio默认可以读和写一个GIF,PNG和JPEG图片,你可以调用ImageIO.getReaderFormatNames() 和ImageIO.getWriterFormatNames()来列出全部可读和可写的图片格式
String[] formatNames = ImageIO.getReaderFormatNames();
formatNames = unique(formatNames);
formatNames = ImageIO.getWriterFormatNames();
formatNames = unique(formatNames);
// png jpeg jpg
formatNames = ImageIO.getReaderMIMETypes();
formatNames = unique(formatNames);
// image/jpeg image/png image/x-png image/gif
formatNames = ImageIO.getWriterMIMETypes();
formatNames = unique(formatNames);
// image/jpeg image/png image/x-png
public static String[] unique(String[] strings) {
Set set = new HashSet();
for (int i=0; i< } String[0]); (String[])set.toArray(new return set.add(name); name="strings[i].toLowerCase();" String { i++)>
图片格式的转换(jpg 转为 png)
package jpgToPng;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* jpg转为png
* @author steve_wang_victor
*
*/
public class JpegToPng {
/**
* @param args
*/
public static void main(String[] args) {
BufferedImage bufferedImage = null;
File file = new File("D:/excel/123.jpg".replace("jpg", "png"));
try {
bufferedImage = ImageIO.read(new File("D:/excel/123.jpg"));
ImageIO.write(bufferedImage, "png", file);//将bufferedImage图片的格式读进来,转为png格式
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
Java2的J2SE1.4版本为通用对象请求代理结构(CORBA)引入了许多新的特性和改进。新的特性和改进不仅体现在对标准CORBA规范的修改,而且也表现在对已有特性性能的提高上。一个新添的重要特性就是轻便对象适配器(POA...
这是在 sun java jdk 1.4.2 平台上开发的一个类库文件,解决上传文件到 java web server 的问题。 和最早的版本相比,该版本修正了当 request.getgetCharacterEncoding() 为 null 时所导致的 NullException 。
对J2SE 5.0中的一些新特性进行了精辟的讲解。
2022年J2SE5.0新特性之使用代理服务器Java教程.docx
关于J2SE图像处理的例子,对图像进行打开、尺度变换、旋转90、180、360度、进行灰处理。
提供完整的J2SE 1.3,1.4,1.5,1.6,1.7,1.8 API,供需要查阅差异的朋友查看,方便查看各版本之间的差异,更好的处理是否写的代码都兼容各版本.
在Eclipse 3.1中体验J2SE 5.0的新特性
本书介绍了 Java 平台上的高级输入/输出,具体点说,就是使用 Java 2 标准版(J2SE)软件 开发包(SDK)1.4 及以后版本...通过本书,您将学会如何使用这些令人兴奋的新特性来极大地提升 Java 应 用程序的 I/O 效率。
j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用
这次发布和现在已经发布的J2SE1.4的两个更新1.4.1和1.4.2都如2003年的JavaOne大会预期的发布。如果你没有参加这次大会,或者想重新回顾一下,那么下面就是这次大会的简要内容。 J2SE 1.4.1 and 1.4.2 Releases ...
基于J2SE数字图像处理设计及报告 doc
关于j2se基础文档和源代码 初学者 很好的资源
代码号为”Merlin”的J2SE1.4带来了一些激动人心的新特性,诸如对正则表达式的支持,异步输入输出流,通道(Channel),字符集等.虽然该版本还处在测试阶段,但这些新特性早已让开发人员们跃跃欲试.在Merlin发布之前,异步...
J2EE与J2SE项目中路径获取的几种方式
j2se的入门资源下载,帮助入门同学快速的掌握java的基本能力、、、
J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API
官方最新发布的j2se7文档增加了许多新特性
j2se桌面应用程序开发聊天室都来看共同分享
通过本书,您将学会如何使用这些令人兴奋的新特性来极大地提升Java应用程序的I/O效率。 目录 前言 第一章 简介 第二章 缓冲区 第三章 通道 第四章 选择器 第五章 正则表达式 第六章 字符集 -----------...
J2SE基础知识大全 J2SE基础知识大全 J2SE基础知识大全