Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章 Java图形处理和Java 2D

上传人:E**** 文档编号:89243351 上传时间:2019-05-21 格式:PPT 页数:30 大小:140.01KB
返回 下载 相关 举报
Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章  Java图形处理和Java 2D_第1页
第1页 / 共30页
Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章  Java图形处理和Java 2D_第2页
第2页 / 共30页
Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章  Java图形处理和Java 2D_第3页
第3页 / 共30页
Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章  Java图形处理和Java 2D_第4页
第4页 / 共30页
Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章  Java图形处理和Java 2D_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章 Java图形处理和Java 2D》由会员分享,可在线阅读,更多相关《Java语言程序设计教程第2版 教学课件 ppt 作者 邱桃荣 主编 第7章 Java图形处理和Java 2D(30页珍藏版)》请在金锄头文库上搜索。

1、第7章 Java图形处理和Java 2D,学习导读,Java语言的类库中提供了丰富的绘图方法,其中大部分对图形、文本、图像的操作方法都定义在Graphics类中,Graphics类是java.awt程序包的一部分。 本章介绍的内容包括了颜色、字体处理、基本图形绘制方法、文本处理以及Java 2D中Graphics2D提供的基本图形绘制和图形特殊效果处理等方面的内容。,课程结构,7.1 Java图形坐标系统和图形上下文 7.2 Color类 7.3 Font类和FontMetrics类 7.4 常用的绘图方法 7.5 Java D简介,7.1 Java图形坐标系统和图形上下文,Java坐标系统

2、Java的坐标原点(0,0)位于屏幕的左上角,坐标度量以象素为单位,水平向右为X轴的正方向,竖直向下为Y轴的正方向,每个坐标点的值表示屏幕上的一个像素点的位置,所有坐标点的值都取整数,如下图所示。,7.1 Java图形坐标系统和图形上下文,图形上下文(graphics context) 图形上下文有时也称为图形环境,指允许用户在屏幕上绘制图形的信息,它由Graphics类封装,可以通过Component类的getGraphics()方法返回获得。 图形上下文表示一个绘制图层,如组件的显示区、打印机上的一页、或一个屏幕外图像缓冲区。,7.2 Color类,Color类使用了sRGB(standa

3、rd RGB,即标准RGB)颜色空间来表示颜色值。 颜色由红(R)、绿(G)、蓝(B)三原色构成,每种原色的强度用一个byte值表示,每种原色取值从0(最暗)255(最亮),可以根据这三种颜色值的不同组合,显示不同的颜色效果。 在Java中Color类定义了13种颜色常量供用户使用,除此之外,用户也可以通过Color类提供的构造函数Color(int r,int g,int b)创建自己需要的颜色。,7.3 Font类和FontMetrics类,Font类 可以使用java.awt.Font类创建字体对象 Font类的构造函数为: Font(String name,int style,int

4、size); 如: Font font = new Font(“Serif”, Font.ITALIC,10);,7.3 Font类和FontMetrics类,例7.1 在控制台下输出系统所有的可用字体。程序源代码见ShowAvaliableFont.java,程序运行结果见图7-1。,图7-1,7.3 Font类和FontMetrics类,FontMetrics类 FontMetrics类是一个抽象类,要使用FontMetrics对象,可以通过调用Graphics类中的getFontMetrics()方法。 FontMetrics定义字体的度量,给出了关于在特定的组件上描绘特定字体的信息。这

5、些字体信息包括了ascent(上升量)、descent(下降量)、leading(前导宽度)和height(高度)。,7.3 Font类和FontMetrics类,例7.2 在框架中央位置显示字符串“Java Programming”,并将字体设置为Serif、粗斜体、大小为30,颜色为红色,而将框架背景设置为淡灰色。程序源代码见FontMetricsDemo.java,程序运行结果见图7-2。,图7-2,7.4 常用的绘图方法,绘制直线 在Java中可以使用下面方法绘制一条直线: drawLine(int x1, int y1, int x2, int y2); 绘制矩形 普通直角矩形 dr

6、awRect(int x, int y, int width, int height); fillRect(int x, int y, int width, int height); 圆角矩形 drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight); fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight); 三维矩形 draw3DRect(int x, int y, int width,

7、int height, boolean raised); fill3DRect(int x, int y, int width, int height, boolean raised);,7.4 常用的绘图方法,绘制椭圆 drawOval(int x, int y, int width, int height); fillOval(int x, int y, int width, int height); 例7.3 在框架中绘制直线、矩形和椭圆。程序源代码见DrawImageDemo.java,程序运行结果见图7-3。,图7-3,7.4 常用的绘图方法,绘制弧形 drawArc(int x,

8、int y, int width, int height, int startAngle, int arcAngle); fillArc(int x, int y, int width, int height, int startAngle, int arcAngle); 绘制多边形和折线段 绘制多边形 drawPolygon(int xPoints, int yPoints, int nPoints); fillPolygon(int xPoints, int yPoints, int nPoints); 绘制折线段 drawPolygonline(int xPoints, int yPoi

9、nts, int nPoints);,7.4 常用的绘图方法,例7.4 在框架中绘制扇形和星形。程序源代码见DrawArcPolygon.java,程序运行结果见图7-3。,图7-4,7.5 Java D简介,Java D API Java 2D API(Application Programming Interface) 增强了抽象窗口工具包 (AWT) 的图形、文本和图像功能,可以创建高级图形库,开发更为强大的用户接口和新型的 Java 应用程序。 Java 2D是Java核心类库的一部分,它包含的包有: java.awt java.awt.image java.awt.color jav

10、a.awt.font java.awt.geom java.awt.print java.awt.image.renderable com.sun.image.codec.jpeg,7.5 Java D简介,Graphics2D简介 Graphics2D对象保存了大量用来确定如何绘制图形的信息,其中大部分都包含在一个Graphics2D对象的6个属性之中,这6个属性分别为: (1)绘制(paint) (2)画笔(stroke) (3)字体(font) (4)转换(transform) (5)剪切(clip) (6)合成(composite),7.5 Java D简介,Graphics2D的图形

11、绘制 Graphics2D是Graphics类的子类,也是一个抽象类,不能实例化Graphics2D对象,为了使用Graphics2D,可以通过Graphics对象传递一个组件的绘制方法给Graphics2D对象。方法如下面代码段所示: public void paint(Graphics g) Graphics2D g2=(Graphics 2D)g; ,7.5 Java D简介,例75 使用Graphics 2D绘制直线、矩形和椭圆。程序源代码见Graphics2DDemo.java,程序运行结果见图7-5。,图7-5,7.5 Java D简介,Graphics2D的属性设置 paint用

12、于填充绘制图形的颜色或图案,在Java 2D API中提供了两种paint属性的填充方式:GradientPaint和TexturePaint。 GradientPaint类提供了下面的构造方法来建立颜色渐变方式: GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2); GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic); GradientPa

13、int(Point2D p1, Color color1, Point2D p2, Color color2); GradientPaint(Point2D p1, Color color1, Point2D p2, Color color2, boolean cyclic); TexturePaint类的构造方法为: TexturePaint(BufferedImage txtr, Rectangle2D anchor)。,7.5 Java D简介,例7.6 使用GradientPaint渐变填充方式和TexturePaint纹理填充方式绘制图形。程序源代码见PaintDemo.java,程

14、序运行结果见图7-6,使用纹理填充方式绘制图形的填充单元图像见图7-7。,图7-6,图7-7,7.5 Java D简介,Graphics2D的属性设置 stroke用于在绘制图形的轮廓时确定线条的形状和粗细,通常使用BasicStroke对象来定义、通过setStroke()方法设定stroke的属性值。 BasicStroke类提供了下面的构造方法来建立画笔的绘制方式:,7.5 Java D简介,BasicStoke (); BasicStoke (float width); BasicStoke (float width, int cap, int join); BasicStoke (f

15、loat width, int cap, int join, float miterlimit); BasicStoke (float width, int cap, int join, float miterlimit, float dash, float dash_phase);,width - 此 BasicStroke 的宽度。此宽度必须大于或等于 0.0f。 如果将宽度设置为 0.0f,则将笔划呈现为可用于目标设备和 抗锯齿提示设置的最细线条。 cap - BasicStroke 端点的装饰 join - 应用在路径线段交汇处的装饰 miterlimit - 斜接处的剪裁限制。mit

16、erlimit 必须大于或等于 1.0f。 dash - 表示虚线模式的数组 dash_phase - 开始虚线模式的偏移量,7.5 Java D简介,CAP_BUTT 无装饰地结束未封闭的子路径和虚线线段。 CAP_ROUND 使用半径等于画笔宽度一半的圆形装饰 结束未封闭的子路径和虚线线段。 CAP_SQUARE 使用正方形结束未封闭的子路径和虚线线段,正方形越过线段端点,并延长等于线条宽度一半的距离。,7.5 Java D简介,例7.7 使用BasicStroke类设定画笔绘制样式。程序源代码见StrokeDemo.java,程序运行结果见图7-8。,图7-8,7.5 Java D简介,Graphics2D的属性设置 composite用于定义绘制重叠图形的绘制方式。 可以通过setComposite()方法来将AlphaComposite对象添加到Graphics2D上下文中,设置图像重叠部分的复合样式。,7.5 Java D简介,例7.8 使用Alph

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号