欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java2实用教程课件(第3版第14章).ppt

    • 资源ID:6509235       资源大小:341.47KB        全文页数:17页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java2实用教程课件(第3版第14章).ppt

    第14章图形与图像,14.1绘制文本14.2绘制基本图形14.3建立字体14.4清除14.5Java 2D14.6图形的布尔运算14.7绘制钟表14.8绘制图像14.9制作JPG图像14.10XOR绘图模式14.11打印图形、图像,Component类有一个方法public void paint(Graphics g),我们可以在其子类中重写这个方法。当重写这个方法时,相应的java运行环境将参数g实例化,对象g就可以在该组件的坐标系内绘制图形、图像等。组件都是矩形形状,组件本身有一个默认的坐标系,组件的左上角的坐标值是(0,0)。如果一个组件的宽是200,高是80,那么,该坐标系中,x坐标的最大值是200,y坐标的最大值是80。,14.1绘制文本,drawString(String s,int x,int y)从参数x、y指定的坐标位置处,从左向右绘制参数s指定的字符串。drawChars(char data,int offset,int length,int x,int y)绘制data数组中的部分字符,length指定数组中要连续绘制的字符的个数,offset是首字符在数组中的位置。,14.2绘制基本图形,1直线drawLine(int x1,int y1,int x2,int y2)绘制从起点(x1,y1)到终点(x2,y2)的直线段2矩形drawRect(int x,int y,int w,int h)绘制矩形fillRect(int x,int y,int w,int h)填充矩形矩形的左上角的坐标由参数x、y指定,矩形的宽和高由参数w,h指定。3圆角矩形drawRoundRect(int x,int y,int w,int h,int arcW,int arcH)绘制圆角矩形fillRoundRect(int x,int y,int w,int h,int arcW,int arcH)填充圆角矩形参数arcW、arcH指定圆角的尺寸,见图14.1中的4个黑角部分。,4椭圆drawOval(int x,int y,int w,int h)绘制椭圆fillOval(int x,int y,int w,int h)填充椭圆其中,参数x、y给出椭圆距x轴和y轴的距离,参数w、h给出椭圆的宽和高。5圆弧圆弧就是椭圆的一部分。drawArc(int x,int y,int width,int height,int starAngle,int arcAngle)绘制圆弧fillArc(int x,int y,int width,int height,int starAngle,int arcAngle)填充圆弧参数x、y、width、heigth指定椭圆的位置和大小,参数starAngle和 arcAngle的单位都是“度”。而起始角度的0度是3点钟的方位。参数starAngle,arcAngle表示从starAngle的角度开始逆时针或顺时针方向画arcAngle度的弧,当arcAngle是正值时为逆时针,否则为顺时针。starAngle的值可以是负值,例如-90度是6点的方位。,14.3 建立字体,setFont(Font f)设置字体。当绘制文本时,Graphics对象用参数f指定的字体。,14.4 清除,clearRect(int x,int y,int width,int height)用背景色填充指定矩形以达到清除该矩形的效果,也就是说当一个Graphics对象使用该方法时,相当于在使用一个“橡皮擦”。参数x、y是被清除矩形的左上角的坐标;另外两个参数是被清除矩形的宽和高。,14.5 Java 2D,Java1.2给出了一个新类Graphics2D,它是Graphics类的子类。一个Graphics2D对象把直线、圆等作为一个对象来绘制,也就是说,如果想用一个Graphics2D类型的“画笔”来画一个圆的话,就必须先创建一个圆的对象。我们仍需使用paint(Graphics g)方法来绘制,只需将Graphics对象强制转化为Graphics2D对象即可。,1直线使用java.awt.geom包中的Line2D的子类Line2D.Double创建一个直线对象。如:Line2D line=new Line2D.Double(12,20,100,90);创建一条(12,20)到(100,90)直线对象。2矩形使用java.awt.geom包中的Rectangle2D.Double类来创建一个矩形对象,如:Rectangle2D rect=new Rectangle2D.Double(50,50,300,50.897);上述语句创建了一个左上角坐标是(50,50),宽是300,高是50.987的一个矩形对象。,3圆角矩形使用java.awt.geom包中的RoundRectangle2D.Double类来创建一个圆角矩形对象:RoundRectangle2D rect_round=new RoundRectangle2D.Double(50,50,300,50,8,5);上述语句创建了一个左上角坐标是(50,50),宽是300,高是50,圆角的长轴和短轴分别为8和5的圆角矩形对象。4椭圆使用java.awt.geom包中的Ellipse2D.Double类来创建一个椭圆对象:Ellipse2D ellipse=new Ellipse2D.Double(50,30,300,50);上述语句创建了一个外接矩形的左上角坐标是(50,30),宽是300,高是50的椭圆对象。,5绘制圆弧使用java.awt.geom包中的Arc2D.Double类创建一个圆弧对象:Arc2D ellipse=new Arc2D.Double(50,30,300,50,0,100,Arc.PIE);上述语句创建了一个外接矩形的左上角坐标是(50,30),宽是300,高是50的起始角是0度终止角是100度的饼弧对象。其中,最后一个参数取值:Arc2D.OPEN、Arc2D.CHORD、Arc2D.PIE决定弧是开弧、弓弧和饼弧。,6绘制二次曲线和三次曲线二次曲线可用二阶多项式y(x)=ax2+bx+c来表示。一条二次曲线需要三个点来确定。使用java.awt.geom包中的QuadCurve2D.Double类来创建一个二次曲线:QuadCurve2D curve=new QuadCurve2D.Double(50,30,10,10,50,100);上述代码片段使用端点(50,30)和(50,100)及控制点(10,10)创建了一条二次曲线。,7旋转图形我们有时需要平移、缩放或旋转一个图形,我们可以使用AffineTransform类来实现对图形的这些操作。(1)首先使用AffineTransform类创建一个对象:AffineTransform trans=new AffineTransform();对象trans具有最常用的三个方法来实现对图形变换操作:translate(double a,double b)将图形在x轴方向移动a 个单位 像素,y轴方向移动b个像素单位。a是正值时向右移动,负值是向左移动;b是正值时是向下移动,负值向上移动。scale(double a,double b)将图形在x轴方向缩放a倍,y轴方向缩放b倍。rotate(double number,double x,double y)将图形沿顺时针或逆时针以(x,y)为轴点旋转number个弧度。(2)进行需要的变换,比如要把一个矩形绕点(100,100)顺时针旋转60度,那么就要先作好准备:trans.rotate(60.0*3.1415927/180,100,100);(3)把Graphics对象,比如g_2d设置为具有trans这种功能的“画笔”:g_2d.setTransform(trans);假如rect是一个矩形对象,那么g_2d.draw(rect)画的就是旋转后的矩形,14.6 图形的布尔运算,假设T1、T2是两个图形,那么T1和T2的布尔“与”(AND)运算的结果是两个图形的重叠部分。T1和T2的布尔“或”(OR)运算的结果是两个图形的合并。T1和T2的布尔“差”(NOT)运算的结果是T1去掉T1和T2的重叠部分。T1和T2的布尔“异或”(XOR)运算的结果是两个图形的非重叠部分。,14.7 绘制钟表,钟表可以显示当前本机的时间。在这里我们要用到一个数学公式,如果一个圆的圆心是(0,0),那么对于给定圆上的一点(x,y),该点按顺时针旋转弧度后的的坐标(m,n)由下列公式计算:m=xcos()-ysin()n=ycos()+xsin(),14.8 绘制图像,Toolkit类是一个抽象类,不能用构造方法直接创建这样对象,但Java运行环境提供了一个Toolkit对象,任何一个组件调用getToolkit()方法可以返回这个对象的引用。Tollkit类有一个获取图像的方法getImage(String s)。Graphics 类提供的方法:drawImage(Image img,int x,int y,ImageObserver observer):绘制的Image对象;x、y是要绘制指定图像的矩形的左上角所处的位置,observer是加载图像时的图像观察器。,14.9 制作JPG图像,制作JPG图像步骤如下:用java.awt.image包中的BufferedImage类(Image的子类)建立一个BufferedImage对象。BufferedImage对象调用createGraphics()获得一个Graphics2D对象。Graphics2D对象调用相应的方法在BufferedImage对象中绘制图形或图像。JPEGCodec类调用createJPEGEncoder(OutPutStream out)返回一个JPEGImageEncoder对象。JPEGImageEncoder对象调用encode(Image image)方法将BufferedImage对象写入到输出流。,

    注意事项

    本文(Java2实用教程课件(第3版第14章).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开