随着时代的进步与发展,越来越多的人开始投入到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工具网。
推荐阅读: