您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > JAVA多媒体技术.ppt
1第九章java多媒体技术软件工程学院主讲人:张昊2主要内容6.1绘制字符串、字符及字节6.2绘制线条和椭圆形6.3绘制矩形和圆角矩形6.4绘制弧和多边形6.5颜色控制6.6字体控制6.7绘制图像3Java中的图形Java.awt包中的Graphics类包含丰富的处理图形的方法。这些方法被用来画下面的图形:String字符串、Chars字符、Bytes字节Line线、Oval椭圆Rectangle矩形Arc弧、Polygon多边形setColor设置颜色setFont设置字体drawImage图象46.1.1绘制字符串语法如下:drawString(Stringstr,intx,inty)各参数含义:Strings:要绘制的字符串intx:绘制的字符串在屏幕上的x坐标inty:绘制的字符串在屏幕上的y坐标56.1.2绘制字符语法如下:drawChars(chararray[],intoffset,intlen,intx,inty);各参数含义为:chararray[]:字符数组intoffset:要绘制字符串在数组array中的偏移位置或起始位置;intlen:要从数组中绘制的字符的个数intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标66.1.3绘制字节语法如下:drawBytes(bytearray[],intoffset,intlen,intx,inty);各参数的含义为:bytearray[]:字节数组intoffset:要绘制字节在数组array中的偏移位置或起始位置;intlen:要从数组中绘制的字节的个数intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标7【例6.1】importjava.awt.*;importjava.applet.*;publicclassDraw1extendsApplet{Stringstr1,str2;charch[]={‘a’,’b’,’c’,’d’};byteb[]={100,101,102,103};publicvoidinit(){str1=“Goodgirls!”;str2=“Goodboys!”;}publicvoidpaint(Graphicsg){g.drawString(“str1:”+str1,50,50);g.drawString(“str2:”+str2,50,100);g.drawChars(ch,2,2,150,50);g.drawBytes(b,0,4,200,50);}}86.2.1绘制线条语法如下:drawLine(intx1,inty1,intx2,inty2);参数含义:intx1:绘图起始位置的x坐标inty1:绘图起始位置的y坐标intx2:绘图结束位置的x坐标inty2:绘图结束位置的y坐标96.2.2绘制椭圆形语法如下:drawOval(intx,inty,intwidth,intheight);各参数的含义如下:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:椭圆形的宽度intheight:椭圆形的高度106.2.3填充椭圆语法如下:fillOval(intx,inty,intwidth,intheight);可以用已设置好的颜色来填充椭圆形。各参数如下:intx:绘图起始位置的x坐标(注:起始位置指填充区的左上角)inty:绘图起始位置的y坐标intwidth:椭圆形的宽度intheight:椭圆形的高度11【例6.2】importjava.awt.*;importjava.applet.*;publicclassDrawLineextendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.BLUE);g.drawLine(75,75,125,75);g.drawLine(100,50,100,100);g.drawOval(100,150,50,50);g.setColor(Color.ORANGE);g.fillOval(200,150,50,75);}}126.3.1绘制矩形语法如下:drawRect(intx,inty,intwidth,intheight);各参数如下:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:矩形的宽度intheight:矩形的高度136.3.2填充矩形语法如下:fillRect(intx,inty,intwidth,intheight);可以用已设置好的颜色来填充矩形各参数如下:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:矩形的宽度intheight:矩形的高度146.3.3绘制圆角矩形语法如下:drawRoundRect(intx,inty,intwidth,intheight,intarcwidth,intarcheight);各参数如下:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:矩形的宽度intheight:矩形的高度Intarcwidth:要绘制矩形的弧宽Intarcheight:要绘制矩形的弧高。156.3.4填充圆角矩形语法如下:fillRoundRect(intx,inty,intwidth,intheight,intarcwidth,intarcheight);可以用已设置好的颜色来填充矩形各参数如下:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:矩形的宽度intheight:矩形的高度intarcwidth:要绘制矩形的弧宽intarcheight:要绘制矩形的弧高。16【例6.3】importjava.awt.*;importjava.applet.*;publicclassDrawRectextendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.red);g.drawRect(50,50,60,60);g.drawRoundRect(150,50,50,50,20,40);Colorc=newColor(255,175,175);g.setColor(c);g.fillRect(50,140,60,60);g.fillRoundRect(150,140,50,50,20,20);}}176.4.1绘制弧和多边形弧的中心就是它外接矩形的中心,该外接矩形的左上角的坐标是绘图的起始位置。语法如下:drawArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle);参数的含义为:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:外接矩形的宽度intheight:外接矩形的高度intstartAngle:起始角度intarcAngle:相对于起始角度,弧的成角范围186.4.2填充弧语法如下:fillArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle);可用以设置好的颜色来填充圆弧。参数的含义为:intx:绘图起始位置的x坐标inty:绘图起始位置的y坐标intwidth:外接矩形的宽度intheight:外接矩形的高度intstartAngle:起始角度intarcAngle:相对于起始角度,弧的成角范围196.4.3绘制多边形语法如下:drawPolygon(intxPoints[],intyPoints[],intnPoints);参数的含义为:intxPoint[]:x坐标点的数组intyPoint[]:y坐标点的数组intnPoints:绘制线条的总点数206.4.4填充多边形语法如下:fillPolygon(intxPoints[],intyPoints[],intnPoints);参数的含义为:intxPoint[]:x坐标点的数组intyPoint[]:y坐标点的数组intnPoints:绘制线条的总点数21【例6.4】importjava.awt.*;importjava.applet.*;publicclassDrawArcextendsApplet{intx1[]={20,50,80,110,80,50};inty1[]={40,80,80,40,10,10};publicvoidpaint(Graphicsg){Colorc=newColor(255,100,175);//品红g.setColor(c);g.drawArc(0,30,30,70,30,80);g.fillArc(100,100,100,70,30,80);g.setColor(Color.green);g.drawPolygon(x1,y1,6);g.fillPolygon(x1,y1,6);}}226.5颜色控制Java中的颜色控制是通过三原色——红、绿、蓝实现的,java使用RGB颜色模式。色素范围红0——255绿0——255蓝0——25523Color类是Java中用于操作颜色的类,它在java.awt包中。定制颜色语法如下:Color(intred,intgreen,intblue);例如,要创建粉红色:Colorc=newColor(255,175,175);颜色的设置可以使用Graphics类的SetColor(Colorc)方法,如下:g.setColor(c);24Color类中还定义了一些常用的颜色常量如表:6.2red红green绿blue蓝cyan青darkGray深灰gray灰lightGray浅灰magenta品红pink粉红orange橙色yellow黄色white白black黑我们可以直接使用如:g.setColor(Color.red);25importjava.applet.*;importjava.awt.*;publicclasssetColour1extendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.green);g.drawString(你好!,100,100);g.setColor(newColor(128,0,128));//自定义颜色g.drawString(你好!,100,200);}}//--------------------------htmlbodyappletcode=setColour1.classwidth=200height=100/applet/body/html26Java实例•importjava.awt.*;•importjava.applet.Applet;•publicclassdraw4extendsApplet{•publicvoidpaint(Graphicsg){•g.setColor(Color.YELLOW);•g.draw3DRect(20,30,66,50,true);•g.fill3DRect(110,30,66,50,true);•g.draw3DRect(20,120,66,50,false);•g.fill3DRect(110,120,66,50,false);•}•}第5个参数表示矩形看起来是凸起的还是凹进的276.6字体控制Java.awt包中提供的Font类可以用来构造不同名字、样式和磅数的新字体对象,可以改变当前字体。语法如下:Font(Stringname,intstyle,intsize);参数含义如下:Stringname:字体名称;intstyle:字体的样式ints
本文标题:JAVA多媒体技术.ppt
链接地址:https://www.777doc.com/doc-7495233 .html