第11章 Java图像图形处理.doc

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

第十一章 图形图像处理 在前边的章节的图形用户界面的处理中,已经看到了图像的应用。本章将简要介绍如何在用户屏幕上绘制图形以及如何显示图像。 11.1 图形 在前边我们已经介绍了用户屏幕和容器的概念,也看到了如何在容器中添加组件。一般来说,在用户屏幕上绘制图形其实就是在容器组件上绘制图形。因此需要注意以下两点: 1)组件中的坐标系统 容器组件的坐标系统类似于屏幕的坐标系统,坐标原点(0,0)在容器的左上角,正x轴方向水平自左向右,正y轴方向垂直自上向下。 在java中,不同的图形输出设备拥有自己的设备坐标系统,该系统具有与默认用户坐标系统相同的方向。坐标单位取决于设备,比如,显示的分辨率不同,设备坐标系统就不同。一般来说,在显示屏幕上的计量单位是像素(每英寸大约90个像素),在打印机上是点(每英寸大约600个点)。Java系统自动将用户坐标转换成输出设备专有的设备坐标系统。 2)图形环境(graphics context) 由于在组件上绘制图形使用的用户坐标系统被封装在Graphics2D类的对象中,所以Graphics2D被称之为图形环境。它提供了丰富的绘图方法,包括绘制直线、矩形、圆、多边形等。 下边我们先介绍与绘制图形相关的类,再介绍绘制图形的方法和步骤。 11.1.1 绘制图形的类 与绘制图形有关的类的层次结构如下: |- java.awt.Graphics |-java.awt.Graphics2D |- java.awt.GraphicsConfigTemplate |- java.awt.GraphicsConfiguration |- java.awt.GraphicsDevice |- java.awt.GraphicsEnvironment Graphics 类是所有图形的抽象基类,允许应用程序可以在组件(已经在各种设备上实现)进行绘制。Graphics 对象封装了 Java 支持的基本操作所需的状态信息剪贴坐标的转换原点当前剪贴区当前颜色当前字体当前的逻辑像素操作(XOR 或 Paint)。 Graphics2D类Graphics类派生而来的,提供了对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在Java(tm)平台上二维、文本和图像的基础类。GraphicsDevice类定义了屏幕和打印机这类可用于绘制图形的设备。 GraphicsEnvironment类定义了所有可使用的图形设备和字体设备。 GraphicsConfiguration类定义了屏幕或打印机这类设备的特征。在图形绘制过程中,每个 Graphics2D 对象都与一个定义了位置的目标相关联。GraphicsConfiguration 对象定义目标的特征如像素格式和分辨率。在Graphics2D对象的整个生命周期中都使用相同的。Graphics2D类都是抽象类,我们无法直接创建这两个类的对象的创建 Graphics2D 对象时,GraphicsConfiguration 将为 Graphics2D 的目标(Component 或 Image)指定默认转换,所有 Graphics2D 方法都采用用户空间坐标。过程分为四个阶段文本Graphics2D对象的6个重要属性: Paint 颜色。 Font 字体属性定义了绘制文本时所使用的字体,系统默认的字体是组件的字体设置。 Stroke 画笔虚线方形画笔,线宽为1的线方形斜角线段接 Transform 转换属性定义渲染过程中应用的转换方法。可以使绘制的图形平移、旋转和缩放。 Composite 合成属性决定如何在组件上绘制叠放图形。 Clip 剪切属性定义了组件上的一个区域边界。图形绘制只能在该区域内进行。 一般情况下,我们使用Griphics2D对象的方法进行图形的绘制工作,Griphics2D对象的常用方法如下: 1) abstract ?void clip(Shape?s)???将当前Clip与指定Shape的内部区域相交,并将Clip设置为所得的交集。 abstract void draw(Shape?s) ??使用当前Graphics2D上下文的设置勾画Shape的轮廓。 abstract void drawImage(BufferedImage?img, BufferedImageOp?op, int?x, int?y)??????呈现使用 BufferedImageOp 过滤的 BufferedImage 应用的呈现属性包括 Clip、Transform 和 Composite 属性。 abstract boolean drawImage(Image?img, AffineTransform?xform, ImageObserver?obs)??呈现一

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档