上次已经为大家介绍过在java中如何绘图?Graphics类是什么意思?的相关内容,今天再来为大家简述一些相关知识,也就是java中Graphics2D类的含义以及它有哪些绘图方法,一起来看看吧。
一、首先我们需要了解的是,java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥有更强大的二维图形处理能力,并且可以提供坐标转换、颜色管理以及文字布局等更精确的控制。
接下来描述一下它的绘图属性。
Graphics2D定义了几种方法,用于添加或改变图形的状态属性。
1. 可以通过设定和修改状态属性,指定画笔宽度和画笔的连接方式;
2. 设定平移、旋转、缩放或修剪变换图形;
3. 设定填充图形的颜色和图案等,图形状态属性用特定的对象存储。
二、Graphics2D类的绘图方法
Graphics2D类保留了Graphics类的绘图方法,在此基础上增加了许多新方法。新方法将几何图形(线段、圆等)作为一个对象来绘制。在java.awt.geom包中声明的一系列类,分别用于创建各种身体图形对象。主要有:
1.Line2D线段类;
2.RoundRectangle2D圆角矩形类;
3.Ellipse2D椭圆类;
4.Arc2D圆弧类;
5.QuadCurve2D二次曲线类;
6.CubicCurve2D三次曲线类。
使用Graphics2D类的新方法画一个图形:
1. 先在重画方法paintComponent()或paint()中,把参数对象g强制转换成Graphics2D对象;
2. 然后,用上述图形类提供的静态方法Double()创建该图形的对象;
3. 最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。例如以下代码用Graphics2D的新方法绘制线段和圆角矩形,代码如下所示:
// 将对象g类型从Graphics转换成Graphics2D Graphics2D g2d = (Graphics2D) g; Line2D line = new Line2D.Double(30.0, 30.0, 340.0, 30.0); g2d.draw(line); RoundRectangle2D rRect = new RoundRectangle2D.Double(13.0, 30.0, 100.0, 70.0, 40.0, 20.0); g2d.draw(rRect);
也可以先用java.awt.geom包提供的Shape对象,同时用单精度Float坐标或双精度Double坐标创建Shape对象,然后再用draw()方法绘制。例如,以下代码先创建圆弧对象,然后绘制圆弧,代码如下:
Shape arc = new Arc2D.Float(30, 30, 150, 150, 40, 100, Arc2D.OPEN); g2d.draw(arc); //绘制前面创建的图形对象arc.
以上就是关于java中Graphics2D类的含义以及它有哪些绘图方法的主要内容。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。
推荐阅读: