- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java2D二维图像绘制
/441551893/blog/item/d9b315c3ace0fe3ee4dd3b16.html
二维图像绘制——Java2D
2010-01-25 09:21
17.2 二维图像绘制——Java2D
在上一节中我们已经学会了使用Graphics来显示一张图片,但它java.awt.image提供的图像处理功能比较简单,因此就出现了Java2D的图像库。Java2D API增强了AWT的图形、文本和图像处理能力,使你能开发富客户界面和新类型的Java应用程序。
下面我们首先简单介绍Java2D的功能和API,然后讲解Java2D的绘图过程。
(1)取得Graphics2D对象。
(2)设置Graphics2D属性。
(3)创建绘制对象。
(4)绘制对象。
最后通过3个实例,演示使用Java2D显示图形、文字和图片的方法。
17.2.1 Java2D简介
Java2D API是JFC(Java Fundation Classes)的一员,它加强了传统AWT的描绘功能。通过使用Java2D API,可以轻松地描绘出任意的几何图形、运用不同的填色效果、对图形进行旋转(rotate)、缩放(scale)、扭曲(shear)等。Java2D为开发人员提供了下列功能。
????????? 对渲染质量的控制:没有Java2D,绘制图形时就无法进行抗锯齿,而分辨率也变得最小,只有一个像素。
????????? 裁剪、合成和透明度:它们允许使用任意形状来限定绘制操作的边界,还提供对图形进行分层及控制透明度和不透明度的能力。
????????? 绘制和填充简单及复杂的形状:这种功能提供了一个Stroke代理和一个Paint代理,前者定义用来绘制形状轮廓的笔,后者允许用纯色、渐变色和图案来填充形状。
????????? 图像处理和变换:Java2D同Java高级图像API(Java Advanced Imaging API (JAI))协作,支持用大量图形格式处理复杂的图像。Java2D还为你提供了修改图像、形状和字体字符的变换能力。
????????? 高级字体处理和字符串格式化:允许像操作任何其他图形形状一样操作字体字符。除此以外,可以像文字处理程序一样,通过为 String 中的字符应用属性和样式信息来创建格式化文本。
Java2D API还能使你创建高级图形库,如CAD-CAM库、图形图像特殊效果库,以及创建图像和图形文件的读写过滤器等。当结合Java Media Framework及Java Media API一起使用时,Java2D API能创建和显示动画及其他多媒体的展现。Java Animation和Java Media Framework API要依赖于Java2D API的渲染支持。
Java2D的类位于以下的包中。
????????? java.awt包含了一些新增的2D API类(classes)和接口(interfaces )。其中Graphics2D继承自java.awt.Graphics,是描绘2D图形的类(object)。在Graphics2D中新增了许多状态属性,比如Stroke、Paint、Clip、Transform等。
????????? java.awt.geom包含可以勾勒任何形状的GeneralPath类。此包中更定义了许多基本几何图形,包括Arc2D、CubicCurve2D、Line2D等。
????????? java.awt.font中定义了TextLayout类,负责建构文本图像、执行适当的文本操作,以及决定文本的适当位置与顺序。
????????? java.awt.color定义了类ColorSpace,提供了转换色盘的各种方法。
????????? java.awt.print提供了打印方法,并可让设置打印的属性,如双面列印等。
下面首先讲解二维图形绘制的过程。
(1)取得Graphics2D对象。
(2)设置Graphics2D属性。
(3)创建绘制对象。
(4)绘制对象。
然后通过3个实例,演示图形、文字、图像的绘制。
17.2.2 取得Graphics2D对象
在绘制图形时,可以在Graphics对象或者Graphics2D对象上进行,它们都代表了需要绘图的区域,选择个取决于是否要使用所增加的Java2D的图形功能。但要注意的是,所有的Java2D图形操作都必须在Graphics2D对象上调用。Graphics2D是Graphics的子类,同样包含在java.awt包中。
绘图的第一个步骤是创建Graphics2D对象,我们可以将Graphics转换为该对象:
public void paintComponent(Graphics g) {
??? Graphics2D g2
文档评论(0)