1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
list23

第23章 图 像 本章我们来学习AWT的Image类和java.awt.image包,它们为成像(对图像的显示和操作)提供了支持。一个image只是一个矩形的图形对象,而images是网页设计中的一个重要的组件。事实上,在NCSA(国际超级计算机应用中心)的Mosaic浏览器中包含img标记是促使网络从1993年以来蓬勃发展的原因。此标记用来将图像内嵌入超文本。Java发展了这个基本概念,允许图像受到程序控制。由于图像的重要性,Java为它提供了广泛的支持。 Images是Image类的对象,而Image类是java.awt包的一部分。Images由java.awt.image中的类对其进行操作。java.awt.image定义了一大批类和接口,一一对它们进行研究是不可能的,因此我们集中研究其中对成像起基础作用的那一部分。下面是将在本章里讨论的java.awt.image类: CropImageFilter MemoryImageSource FilteredImageSource PixelGrabber ImageFilter RGBImageFilter 这些是我们将用到的接口: ImageConsumer ImageObserver ImageProducer 除此以外,我们还要讨论Media.Tracker类,它是java.awt的一部分。 23.1 文 件 格 式 最初,网页图像仅用GIF一种格式。这种GIF图像格式由CompuServe在1987年创建,从而使得图像能够在线浏览,因此它非常适合于Internet。每个GIF图像至多只能有256种颜色。这种局限使得主要的浏览器厂商在1995年增加了对JPEG图像的支持。JPEG格式是由一群专业摄影师为了存储全彩色光谱的连续色调的图像而创建的。这种图像,只要被正确的生成,不但能比由同一源图像编码生成的GIF图像更好的被压缩,而且具有更好的精度。在几乎所有的情况下,你不必关心或注意在你的程序中用了哪种格式。Java图像类可以抽象出接口之间的差异。 23.2 图像基本操作:创建,加载和显示 当你对图像进行操作时三种最常见的操作为:创建图像,加载图像和显示图像。在Java中,Image类用来指向内存中的图像以及那些必须从外部资源加载的图像。因此,Java为你提供了创建新的图像对象并加载它的方法,它也提供了显示图像的方法。让我们依次看一看这些方法。 23.2.1 创建一个图像对象 你可能会期望用如下的工具创建一个内存图像(Memory Image)。 Image test = new Image(200, 100); // Error -- wont work 但并不是这样。因为图像必须最终被画在窗口中以便查看,而Image类没有关于它的环境的足够信息来为屏幕生成合适的数据格式。所以,java.awt的Component类有一个叫做createImage()的方法用来生成图像对象(记住所有的AWT组件都是Component类的子类,因此它们都支持该方法)。 CreateImage()方法有如下两种形式: Image createImage(ImageProducer imgProd) Image createImage(int width, int height) 第一种形式返回由imgProd产生的图像,imgProd是一个实现ImageProducer接口的类的对象(稍后我们将讨论producers)。第二种形式返回具有指定宽度和高度的空图像,如下例所示。 Canvas c = new Canvas(); Image test = c.createImage(200, 100); 上例生成了一个画布Canvas实例,然后调用createImage()方法来实际生成一个Image对象。这里,图像是空白的。以后你将会看到如何对它写数据。 23.2.2 加载一个图像 获得一个图像的另一种方法是加载图像。这通过使用由Applet类定义的getImage()方法来实现。它有以下形式: Image getImage(URL url) Image getImage(URL url, String imageName) 该方法的第一种形式将参数url所设定的路径下的图像装入一个Image类的对象并将它返回。第二种形式将参数url所设定的路径下的图像装入一个以参数imageName命名的Image类的对象并将它返回。 23.2.3 显示图像 只要你有一个图像,你就可以用drawImage()方法来显示它,drawImage()方法是Graphics类中的一员。它有几种形式,我们将要用到的一种如下所示: boolean drawImage(Image imgObj, int

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档