java图形处理-java教程(精).ppt

上传人:啊飒飒 文档编号:13672557 上传时间:2022-01-21 格式:PPT 页数:31 大小:132KB
返回 下载 相关 举报
java图形处理-java教程(精).ppt_第1页
第1页 / 共31页
java图形处理-java教程(精).ppt_第2页
第2页 / 共31页
java图形处理-java教程(精).ppt_第3页
第3页 / 共31页
java图形处理-java教程(精).ppt_第4页
第4页 / 共31页
java图形处理-java教程(精).ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《java图形处理-java教程(精).ppt》由会员分享,可在线阅读,更多相关《java图形处理-java教程(精).ppt(31页珍藏版)》请在三一文库上搜索。

1、第6章 图形处理,6.1 Java图形处理概述6.2 基本图形的输出6.3 设置图形的颜色6.4 文字的图形化输出,6.1 Java图形处理概述,Java系统及应用程序是如何实现图形功能的呢?首先,Java系统在AWT构件类的根类Component类中预置了一种称作Paint(Graphics g)的方法,该方法的参数是一个图形类对象Graphics g,通常它是由系统自动生成而不是由用户程序来实例化的,在类Graphics中系统预置了大量的用于图形处理与输出的方法,,在Paint()方法的重新定义中,可以通过Graphics的对象g来调用这些方法进行图形处理与输出。特别注意的是Paint()

2、方法的调用是由程序运行的环境而不是程序本身来完成的,每当一个AWT构件首次显示或在部分显示已被破坏而必须刷新时该方法被自动地调用。显示的破坏可能发生在任何时刻,因此,你的程序必须能在任意时刻更新显示。,6.2 基本图形的输出,6.2.1 直线的输出在Graphics类中使用drawLine*()方法画一条线段,其调用格式如下: drawLine(int x1,int y1,int x2,int y2),6.2.2 矩形的输出Graphics类中提供了3种类型的矩形:普通矩形、圆角矩形和三维矩形。每一种矩形都提供两种不同风格的方法:一种是仅画出矩形的边框;另一种是不仅画出边框,并且还用相同的颜色

3、将整个矩形区域填满。画矩形的方法如下。,(1)drawRect(int x,int y,int width,int) 画出普通矩形,参数x和y是矩形左上角顶点坐标,而参数width和 height表示所画矩形的宽和高。(2)fillRect(int x,int y,int width,int height) 画出一个填充型风格的普通矩形。,(3)drawRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight) 画出一个圆角矩形,参数中除了具有和普通矩形含义相同的前4个参数外,还增加了两个用来描述圆角性质的参数。

4、其中arcWidth代表了圆角弧的横向直径;arcHeight代表了圆角弧的纵向直径。这两个参数的值越大,圆角越大,反之则越小。,(4)fillRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight) 画填充型的圆角矩形。(5)draw3DRect(int x,int y,int width,int height,boolean raised) 画三维矩形,其中前4个参数意义同前,第5个参数raised定义该立体矩形是具有凸出(值为true)还是凹下(值为false)的效果。,(6)fill3DRect(int

5、 x,int y,int width,int height,boolean raised) 画填充型三维矩形。,6.2.3 椭圆、圆及圆弧的输出1画椭圆和圆在Java中绘制椭圆是以其外接矩形作为参数来实现的,其调用格式与画普通矩形的方法相似。,(1)drawOval(int x,int y,int width,int height) 绘制一个椭圆,前两个参数为该椭圆外接矩形的左上顶点,后两个参数为其外接矩形的宽和高,当后两个参数的值相等时为圆。(2)fillOval(int x,int y,int width,int height) 绘制椭圆并将其内部用前景色填充。,2画弧及扇形弧是椭圆或圆的

6、一部分,因而画弧的方法就相当于先画一个椭圆,而后取该椭圆中所需要的一部分。其调用格式如下。,(1)drawArc(int x,int y,int width,int height,int startAngle,int arcAngle) 画一段弧,其前4个参数的含义与画椭圆一样,它确定了弧所在的椭圆的大小及位置,第5个参数startAngle表示该弧开始位置的角度,第6个参数arcAngle表示该弧转过的角度。角度的参照系统规定水平向右为0,逆时钟方向为正角度值,顺时钟方向为负角度值。如图6-5所示。,图6-5,(2)fillArc(int x,int y,int width,int heig

7、ht,int startAngle,int arcAngle) 画一段弧并且用前景色填充该弧所包含的扇形区域,实际上这等于画了一个扇形。,6.2.4 多边形的输出在Java中画多边形是用其各个顶点的坐标作为参数,并依次画出连接各个顶点的线段。画一个多边形的方法依照传递参数的方式不同可分为使用数组传递参数和使用Polygon对象传递参数两类。,1使用数组传递参数(1)drawPolygon(int xPoints,int yPoints,int nPoints) 画一个非填充型的多边形,其中xPoints参数是一个整数数组,用以存放多边形坐标点的x坐标值,yPoints参数存放相应的一组y坐标值

8、,nPoints则表示共有几个坐标点。(2)fillPolygon(int xPoints,int yPoints,int nPoints) 画一个填充型的多边形,其他同上。,2使用Polygon对象传递参数在上面介绍的画非填充型和填充型多边形方法中使用对象传递参数的形式为:(1)drawPolygon(Polygon p)(2)fillPolygon(Polygon p),6.3 设置图形的颜色,6.3.1 创建Color类Java中每一种颜色都看成是由红(R)、绿(G)、蓝(B)3原色组合而成的。因此Color类的构造方法采用如下格式。(1)Color(int r,int g,int b)

9、 其中每个参数的值都在0255之间,数值越大就表明这种颜色的成份越重。,例如(0,0,0)代表黑色,(255,0,0)代表红色。当然最终在屏幕上是否能显示所定义的颜色还取决于客户端系统的调色板所支持的颜色种类的多少。若客户端系统的调色板并不支持当前所定义的颜色值,就会在调色板中挑选最接近的颜色来代替。(2)Color(int rgb) 指定一个整型数表示3原色的混合值。其中rgb作为二进制数的1623位的值代表红色,815位代表绿色,07位代表蓝色。,6.3.2 设置当前颜色为了能使用刚才生成好的Color对象来显示文本及绘制图形,需调用Graphics类中的setColor()方法把这个对象

10、设置为系统当前所用的绘画颜色,其调用格式为:setColor(Color c);,例如,想要用蓝色来显示文本,最简单的办法是直接引用标准色的类变量:setColor(Color.blue);,另外,Java还提供了设置构件背景和前景的方法,分别是setBackground()方法和setForeground()方法,它们都被定义在java.awt.Component类中,因此该方法能被其子类自动继承,其调用格式与setColor()方法相同:setBackground(Color c)setForeground(Color c),其中setForeground()方法将影响到容器构件中所有已经

11、用其他任何颜色所绘制的图形及显示的文本,把它们一下子都变为该方法所定义的前景颜色,而不需用该颜色重新一一绘制。有“set”必有相应的“get”,Java中还提供了getColor()方法(Graphics类中)、getBackground()方法和getForeground()方法(Component类中)来分别获取当前的绘图颜色、构件背景及前景颜色的对象。,6.4 文字的图形化输出,6.4.1 Font类在Java中提供了一个font类,利用它可以定义文本的字体、风格及字号(大小),其构造方法如下:Font(String name, int style, int size),其中第1个参数n

12、ame为字体名称,如中文的“宋体”、“楷体”,或是英文的“TimesRoman”体、“Courier”体等;第3个参数size表示字体的大小;第2个参数style表示字体的风格,Font类中已定义了类变量来表示字体的style值,如Font.BOLD(表示粗体)、Font.ITALIC(表示斜体)、Font.PLAIN(表示普通体)。,由于它们被定义为整数常量,因此可以进行相加运算来生成复合style,例如想让style即是粗体又是斜体,可以这样写:Font fn = new Font(TimesRoman, Font.BOLD+Font.ITALIC, 28);,如果定义的字体不存在,系统就

13、会以缺省字体来替代它。在使用字体之前,不妨先查看一下系统目前究竟支持哪些字体,这就要用到java.awt.Toolkit类中的getFontlist()方法,它返回系统目前可用的字体列表,然后就可决定到底选用哪种字体。例如:,Toolkit systk = Toolkit.getDefaultToolkit(); String fonts = systk.getFontList();创建了Font对象以后,还要用setFont(Font font)方法将所创建的Font对象设为当前所用的字体。然后就可以利用Graphics类中提供的drawString()、drawChars()等方法来显示字

14、符串与字符。,6.4.2 文本的显示与输出文本的图形化输出使用Graphics类中提供的drawString()、drawChars()方法,其调用格式如下。(1)drawString(String str,int x,int y) 其中的第一个参数str即是要显示的字符串,后面两个参数x,y指明字符串显示的起始位置坐标,具体的说,x表示第一个字符的左边界,y表示整个字符串的基线。,(2)drawChars(char data,int offset,int length,int x,int y) drawChars()方法用来显示多个字符,也就是从给定的字符数组中抽取连续的一部分显示在屏幕上。其中data参数就是给定的原始字符数组,offset表示从第几个字符位置开始显示,length表示共显示几个字符,x与y参数的含义与drawString()方法一样,代表显示在屏幕上的起始位置。注意该方法与drawString()的区别是所显示内容的数据类型不同。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1