读书人

为何显示不出来图像?(附源码)

发布时间: 2011-12-19 23:23:36 作者: rapoo

为什么显示不出来图像?(附源码)

import java.awt.*;
import java.awt.event.*;

(1)以下程序不变,只是改变图片将Miss.jpg改成自己定义的一附JPG图片,就显示不出来了?请问是为什么?
(2)顺便问一下paint方法是什么时候调用的?
(3)要显示BMP图像需要做什么修改?
谢谢了
public class LoadFromApp extends Frame {
Image im;

//LoadFromApp的构造方法,加载图像Miss.jpg
public LoadFromApp(){
super( "加载图像! ");
im=Toolkit.getDefaultToolkit().getImage( "Miss.jpg ");
//添加窗口监听事件
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

}

//LoadFromApp的paint()方法,显示图像信息
public void paint(Graphics g){
g.drawImage(im,30,30,this);
}

//定义main方法,设置窗口的大小,显示窗口
public static void main(String[] args) {
LoadFromApp f = new LoadFromApp();
f.setSize(500,400);
//f.pack();
f.setVisible(true);
}
}

[解决办法]
要显示BMP,可以转换为支持的格式。给你个例子
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;

public class ChangeImageStyle {

public static void main(String args[]) throws IOException{

File inputFile = new File( "test.bmp ");
BufferedImage input = ImageIO.read(inputFile);

//转换为gif格式的图片
File outputFile = new File( "test.gif ");
ImageIO.write(input, "GIF ", outputFile);

//转换为jpg格式的图片
outputFile = new File( "test.jpg ");
ImageIO.write(input, "JPG ", outputFile);

//转换为png格式的图片
outputFile = new File( "test.png ");
ImageIO.write(input, "PNG ", outputFile);
}
}

读书人网 >J2SE开发

热点推荐