java中Graphics2D类的含义?它有哪些绘图方法?

BSO 2020-09-15 09:34:26 java常见问答 6981

上次已经为大家介绍过在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工具网。

推荐阅读:

java final修饰符使用总结,final修饰类详解

java对象和类有什么区别?

Java注释,java类注释详解