Java2D编程------形状
来源:互联网 发布:人体 3d 软件 编辑:程序博客网 时间:2024/05/17 22:56
Graphics2D g2=(Graphics2D)g;/*****线条******/Point2D point=new Point2D.Double(30, 50);Line2D line=new Line2D.Double(100, 100, 200, 200);QuadCurve2D qc=new QuadCurve2D.Double(100,10,300,200,500,10);//二次曲线CubicCurve2D cc=new CubicCurve2D.Double(0, 200, 100, 400, 200, 80, 300, 200);//三次曲线/*******矩形相关*******/Rectangle2D rect=new Rectangle2D.Double(30, 30, 100, 100);//矩形RoundRectangle2D round=new RoundRectangle2D.Double(100, 100, 200, 200, 30,30);//最后一个为闭合类型Ellipse2D elipse=new Ellipse2D.Double(300,300,100,100);//圆Arc2D arc=new Arc2D.Double(100, 100, 200, 200, 30, 30, 0);/******构建路径********/GeneralPath gp=new GeneralPath();gp.moveTo(40, 200);gp.lineTo(50, 200);gp.quadTo(100, 100, 150, 200);gp.lineTo(200, 200);gp.curveTo(250, 350, 300, 100, 350,200);gp.lineTo(350, 400);gp.lineTo(40, 400);gp.closePath();//设置画笔颜色和线条g2.setPaint(new GradientPaint(0, 200, Color.RED, 0, 400, Color.BLUE));g2.setStroke(new BasicStroke(20));//划线或填充g2.draw(gp);g2.fill(gp);点-----Point2D
线-------Line2D、QuadCurve(二次曲线)、CubicCurve2D(三次曲线)
矩形-----Rectangle2D(矩形),RoundRectangle2D(圆角矩形),Ellipse2D(圆和椭圆),Arc2D(弧形,因为是矩形边框所以化为一类)
路径-----GeneralPath;
虽然还有个多边形,但是感觉被边缘化了,因为完全通过路径来建立。
相关函数原型
1.线:
直线 Line2D(x1,y1,x2,y2)
二次曲线 QuadCurve2D(x1,y1,contrlX,contrlY,x2,y2)
controlX,controlY-------控制点,用于控制曲线的形状
三次曲线 CubicCurve2D(x1,y1,ctrlX1,ctrlY1,ctrlX2,ctrlY2,x2,y2)
ctrlX1,ctrlY1----第一个控制点
ctrlX2,ctrlY2----第二个控制点
2.矩形相关
矩形 Rectangle2D(x,y,width,height)
圆角矩形 RoundRectangle2D(x,y,width,height,arcWidth,arcHeight)
arcWidth,arcHeight-------圆角矩形的圆角形状
椭圆 Ellipse2D(x,y,width,height)
通过外接矩形刻画椭圆
弧形 Arc2D(x,y,width,height,startAngle,arcAngle,closType)
通过矩形来刻画弧形
//x,y,width,height-----弧度所在的矩形,弧形的中心位于矩形的中心
//strartAngle---------与起始线的夹角(用角度表示)//arcAngle------------弧形大小(用角度表示)
//closureType---------Arc2D.OPEN(弧形两个点无连线),Arc2D.PIE(弧形的所在椭圆的半径),Arc2D.CHORD(两点直连线)
3.路径
GeneralPath----必须使用的路径
常用方法:
moveTo()-------移动到制定点
lineTo()-------从前一点到当前点划线
quadTo()-------二次曲线,省略了起始点
curveTo()------三次曲线,省略了起始点
closePath()----闭合曲线,自动完成路径的闭合
append(Shape,type)------将形状加入路径,type为boolean,true表示从上一个点到形状划线,false表示不画。
- Java2D编程------形状
- Swing图形编程---------Java2D
- Java2D介绍
- Java2D曲线图
- Java2D (WeatherWizard)
- Java2D (HelloWorldPrinter)
- Java2D使用(1)
- java2D 图形设备
- JAVA2D Shape 高级
- Java2d SetXORMode 一解
- java2d绘图教程
- Java2D特效 文字旋转
- 创建Java2D图形
- java2d 直线画箭头
- Java2d画直角坐标系
- Java:Java2D高级绘图
- 编程如何获取门窗洞口形状,几何尺寸和位置
- 用java编程输出三角形状的星型图案
- 多个字段的in 和 not in 及其替代写法(exists,not exists)
- LeetCode:Longest Consecutive Sequence
- 黑马程序员——面向对象之多态
- String与StringBuffer的区别
- Java开发中常见的危险信号(上)
- Java2D编程------形状
- 从一个简单的例子深入看待c语言指针
- 一个Java程序员第四年工作总结
- Windows下C语言连接MySQL
- Python+kivy作跨平台开发
- 多线程访问共享数方式的总结
- Unix/Linux Shell: 除 "*.sh"后缀名以外,删除的当前所有文件和文件夹
- android绘制背景平铺Bitmap图片
- Android获取系统内核版本的方法