1、绘制直线、矩形、椭圆等图形的两种代码
(1)常用代码
g.drawLine(70, 50, 180, 50); g.drawRect(30, 40, 80, 60); g.drawOval(30, 20, 80, 50);
(2)另外一种代码
Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象 Line2D.Float line = new Line2D.Float(50,50,240,50);// 创建直线对象 g2.drawString("平头样式", 120, 40); // 绘制文本 g2.draw(line);// 绘制直线 Rectangle2D.Float rect = new Rectangle2D.Float(20,60,80,50);// 创建矩形对象 g2.draw(rect);// 绘制矩形 Ellipse2D.Float ellipse=new Ellipse2D.Float(30, 20, 80, 50);//创建椭圆对象 g2.draw(ellipse);//绘制椭圆
2、绘制多边形
int[] x1 = { 100,120,180,140,150,100,50,60,20,80 }; // 多边形的横坐标 int[] y1 = { 20,85,90,120,180,140,180,120,90,85 }; // 多边形的纵坐标 int n1 = 10;// 多边形的边数 g.fillPolygon(x1, y1, n1);// 绘制多边形
3、绘制二次曲线
//强制转型为2D对象 Graphics2D g2=(Graphics2D)g; //创建二次曲线,其中点120,40是控制点,点60,120是起始点坐标,点180,120是终点坐标 QuadCurve2D.Double quadCurve2 = new QuadCurve2D.Double(60,120,120,40,180,120); g2.draw(quadCurve2); // 绘制二次曲线
4、绘制三次曲线
Graphics2D g2=(Graphics2D)g;// 获得Graphics2D对象 // 创建三次曲线,其中点140,-140和点140,300是控制点,点20,80是起始点坐标,点260,80是终点坐标 CubicCurve2D.Double cubicCurve = new CubicCurve2D.Double(20,80,140,-140,140,300,260,80); g2.draw(cubicCurve); // 绘制三次曲线
5、绘制文本
String value = "静夜思"; int x = 120; // 文本位置的横坐标 int y = 30; // 文本位置的纵坐标 g.drawString(value, x, y); // 绘制文本
6、设置字体
Font font1 = new Font("华文行楷", Font.BOLD + Font.ITALIC, 26); // 创建字体对象 g.setFont(font1); // 设置字体
7、设置粗细
Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象 BasicStroke stroke = new BasicStroke(1); // 创建宽度是1的笔画对象 g2.setStroke(stroke);// 设置笔画对象
8、设置笔画样式
Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象 BasicStroke stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); // 创建宽度是10的平头笔画对象 g2.setStroke(stroke);// 设置笔画对象 Line2D.Float line = new Line2D.Float(50,50,240,50);// 创建直线对象 g2.drawString("平头样式", 120, 40); // 绘制文本 g2.draw(line);// 绘制直线 stroke = new BasicStroke(10,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL); // 创建宽度是10的圆头笔画对象 g2.setStroke(stroke);// 设置笔画对象 line = new Line2D.Float(50,90,240,90);// 创建直线对象 g2.drawString("圆头样式", 120, 80); // 绘制文本 g2.draw(line);// 绘制直线 stroke = new BasicStroke(10,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_BEVEL); // 创建宽度是10的方头笔画对象 g2.setStroke(stroke);// 设置笔画对象 line = new Line2D.Float(50,130,240,130);// 创建直线对象 g2.drawString("方头样式", 120, 120); // 绘制文本 g2.draw(line);// 绘制直线
结果示意图:
9、设置连接方式
Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象 BasicStroke stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); // 创建宽度是10的平头斜角连接笔画对象 g2.setStroke(stroke);// 设置笔画对象 Rectangle2D.Float rect = new Rectangle2D.Float(20,60,80,50);// 创建矩形对象 g2.drawString("斜角连接", 35, 50); // 绘制文本 g2.draw(rect);// 绘制矩形 stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER); // 创建宽度是10的平头尖角连接笔画对象 g2.setStroke(stroke);// 设置笔画对象 rect = new Rectangle2D.Float(120,60,80,50);// 创建矩形对象 g2.drawString("尖角连接", 135, 50); // 绘制文本 g2.draw(rect);// 绘制矩形 stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND); // 创建宽度是10的平头圆角连接笔画对象 g2.setStroke(stroke);// 设置笔画对象 rect = new Rectangle2D.Float(220,60,80,50);// 创建矩形对象 g2.drawString("圆角连接", 235, 50); // 绘制文本 g2.draw(rect);// 绘制矩形
结果示意图:
10、缩放图形
g2.scale(1.3, 1.3);// 放大1.3倍 g2.draw(rect);// 绘制矩形
11、旋转图形
g2.rotate(0.2);// 顺时针旋转 g2.draw(rect);// 绘制矩形
12、斜切图形
g2.shear(0.2,0.2);// 向下斜切 g2.draw(rect);// 绘制矩形
13、为图形填充渐变色
// 创建循环渐变的GraphientPaint对象 //x1 - 用户空间中第一个指定 Point 的 x 坐标 // y1 - 用户空间中第一个指定 Point 的 y 坐标 // color1 - 第一个指定 Point 处的 Color // x2 - 用户空间中第二个指定 Point 的 x 坐标 // y2 - 用户空间中第二个指定 Point 的 y 坐标 // color2 - 第二个指定 Point 处的 Color // cyclic - 如果渐变模式在两种颜色之间重复循环,则为 true;否则为 false。 GradientPaint paint = new GradientPaint(20,20,Color.BLUE,100,80,Color.RED,true); g2.setPaint(paint);// 设置渐变 g2.fill(rect);// 绘制矩形
结果示意图:
相关推荐
这份名为“会计每日工作总结会计实习每日小结.zip”的压缩包文件包含了名为“会计每日工作总结会计实习每日小结.docx”的文档,很可能是对会计实习期间每日工作的详细记录和反思。 首先,我们要理解会计工作的重要...
网络教学检测好工具:“每日交作业”小程序使用说明.docx网络教学检测好工具:“每日交作业”小程序使用说明.docx网络教学检测好工具:“每日交作业”小程序使用说明.docx网络教学检测好工具:“每日交作业”小程序...
体育课课后小结是对课堂教学效果的反思与总结,它旨在深入分析教学过程中的优点与不足,以便于改进教学策略,提升教学质量。这两篇体育课课后小结中,我们可以提炼出以下几个重要的教学知识点和原则: 1. **新课标...
此Web部件从指定SP自定义列表或一个选定的 RSS源选择一个随机项目,并显示一张图片、标题和一个Tip。适用于WSS 3.0,MOSS 2007和SP2010.
不过,从【标题】和【描述】中可以看出,文件涉及的是“财务出纳个人精编工作小结”。以下将根据这个主题,详细展开相关知识点。 财务出纳工作是企业财务活动中的一项重要工作,其主要负责处理日常现金收支和银行...
【标题】"小程序下载必应每日图片"是一个基于Qt框架的桌面应用示例,它的主要功能是自动下载必应搜索引擎每日更新的特色图片,并将其设置为用户的桌面背景。这个小程序展示了如何利用Qt库来实现网络请求、图片下载...
【班主任带教小结】 在这四篇班主任带教小结中,我们可以提炼出以下几个关键的知识点: 1. **教育者品质的重要性**:优秀的班主任应当具备敬业、勤奋和强烈的责任感。例如,赵季萍老师在处理课代表未能及时发放...
"备份易源代码之每日每日工作备份"的标题和描述都强调了这一点,它着重于源代码的日常备份策略,旨在确保代码的安全性和项目的可恢复性。下面我们将详细探讨相关知识点。 1. **源代码备份**:源代码是软件开发的...
学校传染病防控自查小结.pdf 学校作为学生学习和生活的重要场所,其公共卫生安全直接关系到师生的身体健康和社会稳定。在当前全球公共卫生形势复杂多变的背景下,学校传染病的防控工作尤为重要。为此,本文将对学校...
周班级工作小结是对一周班级管理工作进行全面回顾和总结的重要文档,它旨在梳理过去一周的工作重点,分析存在的问题,以及规划未来的工作方向。通过这个过程,可以清晰地了解到班级在思想引导、家校合作、学生自主...
在这个名为“HelloCodeDev-master”的项目中,我们可以看到一个用于创建每日一句英语学习的微信小程序。这个小程序旨在帮助用户每天学习新的英语句子,提高他们的语言技能。通过这种方式,用户可以在日常生活中轻松...
通过对幼儿的指甲、手心、眼睛、口腔、咽部、淋巴结、耳廓、耳后的观察,保健医可以了解幼儿的整体卫生情况,从而更好地护理幼儿的健康。 (二)生活用品摆放情况 生活用品摆放情况也是保健医每日巡查表中的一个...
"每日更新微信小程序源码.zip"这个压缩包文件显然包含了一系列微信小程序的源代码,可能是为了帮助开发者学习、参考或者快速构建自己的小程序。 首先,我们要理解小程序源码的基本结构。一个微信小程序通常由以下几...
企查查企业信息爬虫 ,企查查app每日新增企业抓取,可以进行每日的增量抓取、企业数据、工商数据等等。 每天定时抓取 自动刷新token 省份、市的所有代码 token自动刷新 根据地址自动将省份、市、区县进行分割 所有...
【网站建设情况小结】 本文是对一个意大利经商处政府子网站的建设情况的总结,强调了在网站建设和管理中采取的有效策略和经验。以下为详细的知识点解析: 1. **领导重视**:领导的支持是网站成功的关键。从一开始...
【营销】领域的组训例会月度培训小结工作沟通主要涵盖了以下几个关键知识点: 1. **活动量管理工具**:这是营销团队管理中一个重要的工具,用于追踪和管理销售团队的工作进度和成果。通过活动量管理,可以了解销售...
每日构建是软件工程中一种重要的持续集成实践,旨在提高软件开发效率和质量。它通过自动化的方式,每天将项目的所有源代码编译成可执行的软件版本,确保代码的正确性和可部署性。每日构建的目的是尽早发现并修复问题...
【一年级班级工作小结】 在小学一年级的班级管理中,主要关注的是新生的适应性和行为规范的建立。新生初入小学,对学校的规则和要求往往不熟悉,表现为活泼好动,难以自我约束。因此,首要任务是帮助他们适应小学...
【监理验槽小结知识】 监理验槽是建筑工程中一项重要的环节,主要目的是确保地基基础的质量,保证建筑物的安全稳定。以下是对监理验槽过程的详细解析: 1. **工程概况** - 工程项目特征包括项目名称、建设规模、...
欢迎使用“每日记事”小工具 当前内容是首次使用简单说明,看完可直接删除。 您可以使用本程序进行每日的任务安排,并随时记录任务的完成情况。 例如: 今天的任务: 午睡 30m 做任务二 2h 任务三 3h 本周要做的: ...