Java语言中的图像处理

2022-09-11

最近几年来, 随着计算机硬件技术的飞速发展, 需要计算机硬件支撑的计算机多媒体技术如:图像处理也得到迅猛的发展, 而J a v a语言提供的多媒体功能效果好且使用灵活、方便。在W e b页面设计中, 正由于在J a v a动画中灵活地运用图像和声音媒体, 才使得W e b页面更具魅力。J a v a主要支持GIF和JPEG格式的图像文件, 下面简要介绍一下图像的装载和显示。

1 在Applet中装载并显示图像

1.1 图像的加载

要显示图像先要进行图像的加载, 在Applet中加载图像可以使用Applet类中的g etImage () 方法, 此方法返回一个包含该图像的Image类的对象。由于Java语言是面向网络的, 因此文件的存储位置不局限于本地机器的磁盘。大部分情况是存取网络中的Web服务器上的图像文件。其格式如下。

(1) Public Image getImage (URL url) 获得绝对url地址指定的image对象。

(2) Public Image getImage (URL url, String name) 获得绝对url地址指定的image对象, name指明相对于url的image图像文件名。

其中:u r l是一个U R L类的对象, 表示图像文件的URL地址。Name是图像文件的名称, 其后缀是.jpeg或.gif。当Applet程序文件和图像文件存放在同一个文件夹中时, 利用Applet类中的getCodeBase () 方法或g e t D o c u m e n t B a s e (方法) 可以得到A p p l e t程序文件所在的地址, 即该文件所在的目录。其格式如下。

(3) URL getCodeBase () 。

(4) URLgetDocumentBase () 。

getImage () 在调用后立即返回, 它不检查图像文件是否存在, 图像的真正装载要到第一次显示时才发生。

1.2 图像的显示

在获得Image对象后, 可用Graphics类的d r a w I m a g e () 方法显示图像。drawImage () 方法有以下几种不同的重载形式。

(1) Boolean drawImage (Image img, int x, int y, ImageObserver observer) (x, y) 是图像左上角的坐标, observer是图像加载跟踪器, 是实现了ImageObserver接口的一个对象, 通常该参数指定为t h i s, 这时图像文件i m g按原样大小显示出来。

(2) Boolean drawImage (Image img, int x, int y, Color bgcolor, ImageObserver observer) 这种形式跟上一种形式的区别只是:bgcolor是图像显示区域的背景色, 当图像有透明色时使用。

(3) Boolean drawImage (Image img, int x, int y, int width, int height, ImageObserver observer)

(x, y) 为图像左上角的坐标, 两个参数width和height分别表示图像实际显示的宽度和高度。如果原图像的高度和宽度与这两个参数不一致时, 系统会自动进行缩放处理。

(4) Boolean drawImage (Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) 此种形式与上面的区别只是在于b g c o l o r是图像显示区域的背景色, 当图像有透明色时使用。

drawImage () 方法在显示完图像信息后就会返回。若需要使用裁剪效果也可以使用Graphics类中的setClip () 方法或clipRect () 方法。其格式如下。

(5) public abstract void setClip (int x int y, int width, int height)

(6) public abstract void clipRect (int x, int y, int width, int height)

它们的功能均为以坐标 (x, y) 为左上角坐标, 大小为width和height的矩形设置裁剪区域。

为了不使图像因缩放而变形失真, 可以将原图像的宽度和高度按相同的比例进行缩放, 调用Image类的get Width () 和get Height () 方法可以得到原图像的宽度和高度。

int getWidth (ImageObserver observer)

int getHeight (Imageobserver observer)

现在通过一个具体的小例子看一下图像的加载和显示。

程序运行时, 需要在A p p l e t程序所在目录的下一级目录i m a g e s中存储有monkey.gif文件。

2 在应用程序中显示图像

在J a v a语言中, 也可以在应用程序中显示图像, 但显示方法与Applet有所不同。在应用程序中, 装载图像需要使用T o o l k i t类来实现, 一般通过Toolkit类的g e t D e f a u l t Toolkit () 方法或通过调用Component类的getToolkit () 方法来获得一个Toolkit对象。声明格式如下。

Public static Toolkit getDefaultToolkit ()

Public Toolkit getToolkit ()

因篇幅所限这里不在详细介绍, 有兴趣的读者可以查阅有关资料掌握其用法。

摘要:Java是由sun公司开发的一种功能强大的多线程动态计算机编程语言, 具有简单、面向对象、分布式、可移植等特点。而他所提供的多媒体功能效果好且使用灵活、方便。本文简要介绍了如何在Java中进行图像处理, 重点介绍了在Applet中图像的装载和显示, 另外简要介绍了在应用程序中图像的显示。

关键词:图像,加载,显示

参考文献

[1] 王洪香, 郭潭玉.Java程序设计案例教程[M].北京交通大学出版社, 2007.

[2] 沈大林.Java程序设计案例教程[M].中国铁道出版社, 2008.

上一篇:安乐死的法理学思考下一篇:基于Authorware软件调用外部程序方法的研究