Java 提供大量加载和显示图像的方法,可以使用 ImageIO,Jimi 或 JAI 中提供的一些 API,在这里简单地说几种 AWT 中加载和显示图像的方法。
1、使用 java.applet.Applet 提供的 getImage() 方法
abstract Image |
getImage(String filename) Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG. |
abstract Image |
getImage(URL url) Returns an image which gets pixel data from the specified URL. |
import java.net.URL;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class ImageTestAppletSimple
extends Applet {
private Image im;
public void init() {
// 指定这个 applet 位置的 URL
URL codebase = getCodeBase();
im = getImage(codebase, "lena.jpg");
}
public void paint(Graphics g) {
g.drawImage(im, 0, 0, this);
}
}
2、使用 java.awt.Toolkit 提供的 getImage() 方法
abstract Image |
getImage(String filename) Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG. |
abstract Image |
getImage(URL url) Returns an image which gets pixel data from the specified URL. |
import java.awt.*;
import java.awt.event.*;
public class ImageTestApplication
extends Frame {
Insets insets;
Image im;
static public void main(String args[]) {
ImageTestApplication app = new ImageTestApplication();
app.show();
}
public ImageTestApplication() {
super("Image Test");
im = Toolkit.getDefaultToolkit().getImage("lena.jpg");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
dispose();
System.exit(0);
}
});
}
public void addNotify() {
super.addNotify();
insets = getInsets();
setBounds(100, 100, 300 + insets.left, 300 + insets.top);
}
public void paint(Graphics g) {
g.drawImage(im, insets.left, insets.top, this);
}
}
3、将图像作为资源加载
·java.lang.Class<t></t> 提供的下面2个方法加载资源
·java.awt.Component 中提供方法来创建图像
·java.awt.Toolkit 中提供方法来创建图像
Image |
createImage(byte[] imagedata) Creates an image which decodes the image stored in the specified byte array. |
abstract Image |
createImage(byte[] imagedata, int imageoffset, int imagelength) Creates an image which decodes the image stored in the specified byte array, and at the specified offset and length. |
abstract Image |
createImage(ImageProducer producer) Creates an image with the specified image producer. |
abstract Image |
createImage(String filename) Returns an image which gets pixel data from the specified file. |
abstract Image |
createImage(URL url) Returns an image |
import java.applet.Applet;
import java.net.URL;
import java.awt.*;
import java.awt.image.ImageProducer;
import java.awt.event.*;
public class Test
extends Applet {
Image im;
public void start() {
URL url = getClass().getResource("lena.jpg");
try {
im = createImage( (ImageProducer) url.getContent());
if (im == null) {
System.out.println("null image");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public void paint(Graphics g) {
Insets insets = getInsets();
g.drawImage(im, insets.left, insets.top, this);
}
public void update(Graphics g) {
paint(g);
}
}
分享到:
相关推荐
解决java软件中Myeclipse 中的awt乱码问题
主要是总结了awt和swing常用组件中常用方法概况。
搭建方法文档和插件---在eclipse下搭建swing/awt/swt开发环境的方法和插件
什么是AWT 用AWT构建GUI 事件处理 AWT组件类库
这是java中awt和swing是的关系以及区别,可以跟好的分别两者中的关系
awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android ...
java中awt和swing是的关系以及区别java中awt和swing是的关系以及区别
积分是身外之物,知识才是自身的 讲述AWT组件的使用,和方法,
是笔者学习java AWT事件、监听器、接口方法的总结,希望对初学java者有所帮助。
swing基础学习和awt的区别,swing基础学习和awt的区别swing基础学习和awt的区别swing基础学习和awt的区别
JAVA编程基础:第七章 AWT 事件模型 总结:类,方法,接口,其中总结了如何获得事件源,实现接口方法,是对awt的一些组件的总结
java awt实现读取和生成excel 、mysql
对照了解AWT与Swing的区别,能更好地理解GUI
java关于事件的处理 awt及awt事件处理
java绘图 java awt 经典绘图的例子,对于初学awt模块的人非常有帮助.
利用java AWT和JAI技术绘制生物图像的方法可以使在实验室中得到的生物实验数据自动转化为需要的图谱,并且图像的精确度高。绘制成的图像既可以保存在本地硬盘中,也可以在浏览器中以网页的形式展示出来供研究人员分析...
AWT和SWING的介绍以及二者的区别与联系
AWT并没有为GUI组件提供真正的实现,而是调用运行平台的GUI组件来创建和平台一致的对等体peers,因此程序中Textarea实际上是windows的多行文本域组件的对等体,具有和他相同的行为。所以,你右键单击textarea会出现...
awt和swing学习实例,代码加注释。
awt,即各项异性小波变换的matlab实现