creatImage方法与getImage方法的使用

来源:互联网 发布:mac里文稿的照片图库 编辑:程序博客网 时间:2024/06/06 13:08

最近在学习javaGUI程序,对createImagegetImage方法很是困惑,我查阅了JDK文档帮助,来深入理解两种方法

1.public Image createImage(int width,int height)

(awt.Componet包中)

它是在内存中创建的Image对象,所以重绘速度快很多

    JDK文档中描述:创建一幅用于双缓冲,可以在屏幕外绘制的图像,如果组件不可显示, 则返回null

    所以在绘图的时候需要先调用setVisible方法来显示组件

必须在GUI程序第一次调用paint方法之后才能使用createImage

可以在程序上使用语句:

Image oimg = null;

Graphics og = null;

public void paint(Graphics og){

if(oimg != null){

og.drawImage(oimg, 0, 0, this);

}

}

createImage就像一个画布一样,把要画的图像加载到它的Image对象上

所以代码写成:

Dimension d = this.getSize();

oimg = this.createImage(d.width, d.height);

og = oimg.getGraphics();

getSize方法返回当前对象的,以Dimention对象的形式返回组件的大小

上面说createImage对象是创建一幅用于双缓冲,可以在屏幕外绘制的图像

所以把组件的大小传递给createImage方法,由这个方法来创建

另外getGraphics相当于一个画笔,把画笔传递给了Graphics对象,就可以画图了

2.getImage abstract Image getImage(String filename)

    用于返回一幅图像,该图像从指定文件中获取像素数据,

Image img = getToolkit().getImage("C://a.jpg");

getToolkit方法返回此组件的工具包

此处getImage位于ToolKit类中,而ToolKit类是抽象类,不可以直接创建,所 以从Component中寻找到getToolKit方法,它返回ToolKit类型,再调用 

原创粉丝点击