java中Graphics2D的几何图形类有哪些?实例展示

BSO 2020-09-15 10:08:55 java常见问答 3783

随着时代的进步与发展,越来越多的人开始投入到java的学习中来。今天就来为大家介绍一些java基础知识,java中Graphics2D的几何图形类有哪些,并且通过实际的代码为大家展示。

java中Graphics2D的几何图形类主要包括以下七大类。

一、线段,代码展示如下:

// 声明并创建线段对象(起点是(2,3),终点是(200,300))
Line2D line = new Line2D.Double(2, 3, 200, 300);

二、矩形,代码展示如下: 

// 声明并创建矩形对象,矩形的左上角是(20,30),宽是300,高是40。
Rectangle2D rect = new Rectangle2D.Double(20, 30, 80, 40);

三、圆角矩形,代码展示如下:

// 左上角是(20,30),宽是130,高是100,圆角的长轴是18,短轴是15。
RoundRectangle2D rectRound = new RoundRectangle2D.Double(20, 30, 130, 100, 18, 15);

四、椭圆,代码展示如下:

// 左上角 (20,30),宽是100,高是50
Ellipse2D ellipse = new Ellipse2D.Double(20, 30, 100, 50);

五、圆弧,代码展示如下:

// 外接矩形的左上角(10,30),宽85,高60,起始角是5度,终止角是90度。
Arc2D arc1 = new Arc2D.Double(10, 30, 85, 60, 5, 90, Arc2D.OPEN);
Arc2D arc2 = new Arc2D.Double(20, 65, 90, 70, 0, 180, Arc2D.CHORD);
Arc2D arc3 = new Arc2D.Double(40, 110, 50, 90, 0, 270, Arc2D.PIE);
// 参数Arc2D.OPEN、Arc2D.CHORD、Arc2D.PIE分别表示圆弧是开弧、弓弧和饼弧。

六、二次曲线

1.二次曲线用二阶多项式表示:y(x) = ax2+bx+c。一条二次曲线需要三个点确定:始点、控制点和终点。代码如下所示:

QuadCurve2D curve1 = new QuadCurver2D.Double(20, 10, 90, 65, 55, 115);
QuadCurve2D curve2 = new QuadCurver2D.Double(20, 10, 15, 63, 55, 115);
QuadCurve2D curve3 = new QuadCurver2D.Double(20, 10, 54, 64, 55, 115);

2.方法Double()中的6个参数分别是二次曲线的始点、控制点和终点。以上3条二次曲线的开始点和终点分别相同。

七、三次曲线

1.三次曲线用三阶多项式表示:y(x)=ax3+bx2+cx+d。一条三次曲线需要四个点确定:始点、两个控制点和终点,代码展示如下:

CubicCurve2D curve1 = new CubicCurve2D.Double(12, 30, 50, 75, 15, 15, 115, 93);
CubicCurve2D curve2 = new CubicCurve2D.Double(12, 30, 15, 70, 20, 25, 35, 94);
CubicCurve2D curve3 = new CubicCurve2D.Double(12, 30, 50, 75, 20, 95, 95, 95);

2.方法Double()中的8个参数分别是三次曲线的始点、两个控制点和终点。

3.一般的方程曲线的绘制过程用一个循环控制。通过循环产生自变量的值,按照方程计算出函数值,再作必要的坐标转换:①原点定位的平移变换,②图像缩小或放大的缩放变换,③得到曲线的图像点,并绘制这个点。以绘制以下曲线方程为例:

Y=sin(x)+cos(x)

绘制的代码如下所示:

double x0, y0, x1, y1, x2, y2, scale;
x0 = 100;
y0 = 80;
scale = 20.0;
for (x1 = -3.1415926 d; x1 <= 2 * 3.1415926 d; x1 += 0.01 d)
{
    y1 = Math.sin(x1) + Math.cos(x1);
    x2 = x0 + x1 * scale;
    y2 = y0 + y1 * scale; //(x2,y2)是图像点
    g.fillOval((int) x2, (int) y2, 1, 1); // 画一个圆点作为图像点
}

以上就是关于java中Graphics2D的几何图形类有哪些的实例展示。想要了解更多java经典例子以及常见问题,敬请关注奇Q工具网。

推荐阅读:

java中Graphics2D类属性有哪些?详细解析

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

在java中如何绘图?Graphics类是什么意思?