java 画弧线_java画图基本操作-线/折线,圆弧/扇形,椭圆,文本
/*** 画线/折线*/
private static voiddrawLine(Graphics g) {
Graphics2D g2d=(Graphics2D) g.create();//抗锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);//设置画笔颜色
g2d.setColor(Color.RED);//1. 两点绘制线段: 点(20, 50), 点(200, 50)
g2d.drawLine(50, 50, 200, 50);//2. 多点绘制折线: 点(50, 100), 点(100, 130), 点(150, 70), 点(200, 100)
int[] xPoints = new int[] { 50, 100, 150, 200};int[] yPoints = new int[] { 100, 120, 80, 100};int nPoints = 4;
g2d.drawPolyline(xPoints, yPoints, nPoints);//3. 两点绘制线段(设置线宽为5px): 点(50, 150), 点(200, 150)
BasicStroke bs1 = new BasicStroke(5); //笔画的轮廓(画笔宽度/线宽为5px)
g2d.setStroke(bs1);
g2d.drawLine(50, 150, 200, 150);//4. 绘制虚线: 将虚线分为若干段( 实线段 和 空白段 都认为是一段), 实线段 和 空白段 交替绘制,//绘制的每一段(包括 实线段 和 空白段)的 长度 从 dash 虚线模式数组中取值(从首//元素开始循环取值), 下面数组即表示每段长度分别为: 5px, 10px, 5px, 10px, ...
float[] dash = new float[] { 5, 10};
BasicStroke bs2= newBasicStroke(1, //画笔宽度/线宽
BasicStroke.CAP_SQUARE,
BasicStroke.JOIN_MITER,10.0f,
dash,//虚线模式数组
0.0f);
g2d.setStroke(bs2);
g2d.drawLine(50, 200, 200, 200);//自己创建的副本用完要销毁掉
g2d.dispose();
}/*** 画矩形/多边形*/
private static voiddrawRect(Graphics g) {
Graphics2D g2d=(Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.GRAY);//1. 绘制一个矩形: 起点(30, 20), 宽80, 高100
g2d.drawRect(30, 20, 80, 100);//2. 填充一个矩形
g2d.fillRect(140, 20, 80, 100);//3. 绘制一个圆角矩形: 起点(30, 150), 宽80, 高100, 圆角宽30, 圆角高30
g2d.drawRoundRect(30, 150, 80, 100, 30, 30);//4. 绘制一个多边形(收尾相连): 点(140, 150), 点(180, 250), 点(220, 200)
int[] xPoints = new int[] { 140, 180, 220};int[] yPoints = new int[] { 150, 250, 200};int nPoints = 3;
g2d.drawPolygon(xPoints, yPoints, nPoints);
g2d.dispose();
}/*** 画圆弧/扇形*/
private static voiddrawArc(Graphics g) {
Graphics2D g2d=(Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.RED);//1. 绘制一条圆弧: 椭圆的外切矩形 左上角坐标为(0, 0), 宽100, 高100,//弧的开始角度为0度, 需要绘制的角度数为-90度,//椭圆右边水平线为0度, 逆时针为正角度, 顺时针为负角度
g2d.drawArc(0, 0, 100, 100, 0, -90);//2. 绘制一个圆: 圆的外切矩形 左上角坐标为(120, 20), 宽高为100
g2d.drawArc(120, 20, 100, 100, 0, 360);
g2d.setColor(Color.GRAY);//3. 填充一个扇形
g2d.fillArc(80, 150, 100, 100, 90, 270);
g2d.dispose();
}/*** 画椭圆(实际上通过绘制360度的圆弧/扇形也能达到绘制圆/椭圆的效果)*/
private static voiddrawOval(Graphics g) {
Graphics2D g2d=(Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.RED);//1. 绘制一个圆: 圆的外切矩形 左上角坐标为(0, 0), 宽高为100
g2d.drawOval(0, 0, 100, 100);
g2d.setColor(Color.GRAY);//2. 填充一个椭圆
g2d.fillOval(120, 100, 100, 150);
g2d.dispose();
}/*** 画文字*/
private static void drawText(BufferedImage bufImage, String text, float x, floaty) {
Graphics g=bufImage.getGraphics();
Graphics2D g2d=(Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.RED);//设置字体样式, null 表示使用默认字体, Font.PLAIN 为普通样式, 大小为 50px
g2d.setFont(new Font(null, Font.PLAIN, 50));//绘制文本, 其中坐标参数指的是文本绘制后的 左下角 的位置//首次绘制需要初始化字体, 可能需要较耗时
g2d.drawString(text, x, y);
g2d.dispose();
}
java 画弧线_java画图基本操作-线/折线,圆弧/扇形,椭圆,文本相关推荐
- java画笑脸_java的画图运用。一个简答的笑脸程序☺
一个简答的笑脸. 需要两个java文件 代码如下: GradeBook.java import java.awt.Color; import java.awt.Graphics; import jav ...
- java画虚线_java cansvas 画虚线要怎么设置?
展开全部 java cansvas 画虚线通过Graphics2D setStroke(BasicStroke) 设置笔画虚线模式.32313133353236313431303231363533e5 ...
- java 画树_java Graphics 绘制树形图,保存图片
最近项目中要做报告,生成树形图显示父子关系,网上没找到合适的工具,所以用Graphics画了个简单的. 很简单直接上代码吧. import javax.imageio.ImageIO; import ...
- 用java画乌龟_java用swing画可以行走的乌龟
代码如下: import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.a ...
- java 画树_java – 如何绘制代表连接节点图的树?
我想在Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode r ...
- java 画树_java – 如何绘制代表连接节点图的树?
我想在 Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode ...
- java画圈_java动态画圈圈。运用多线程,绘图
总结:只是意外的收获吧.之前一篇是老师教的,一个点,从底层开始升起,到鼠标按下的地方开始画圈圈, 现在改变了一下,因为点上升的一个循环和画圈的循环是分开的 现在让点点自己跑,并且边跑边画圈.而且在fo ...
- java 画星星_Java——绘制五角星
Java2D支持通过GeneralPath实现绘制任意的几何形状. 步骤:1)实例化GeneralPath对象 2)调用moveTo()方法锚地开始点坐标 3)调用lineTo()或curveTo() ...
- java 画弧线,利用Android画圆弧canvas.drawArc()实例详解
前言 在学习android中图形图像处理技术这部分内容时,对绘制圆弧函数canvas.drawArc()的用法.参数含义及画图原理很是不理解,在网上搜索了一些,加上自己的理解,在此做个小总结,下面来一 ...
最新文章
- 厉害了程序员~凡尔赛文学现作 | 每日趣闻
- 《并行计算的编程模型》一2.4.1 GASNet段
- 最长上升子序列问题 (LIS)
- LeetCode198——house robber(不懂dp)
- Numpy | Python列表与Numpy数组对比
- ZooKeeper与Eureka作为注册中心的比较
- Java 使用Commons-fileupload组件实现上传
- 数据结构与算法学习网
- python 谷歌翻译 api_调用谷歌翻译API
- DNS,NS,TTL相互关系
- 【翻译】200行代码讲透RUST FUTURES (7)
- cad缩放_CAD常见问题详解,解决你当前的烦恼
- HTML5主要针对什么进行优化,html5哪些标签可以优化SEO?
- 计算机无法切换用户权限,“无法更改的Administrator账户密码”的解决方案
- 同花顺_代码解析_技术指标_S
- OpenJudge NOI 2.1 7621:硬币面值组合
- 修改远程仓库地址,更换远程仓库https://www.cnblogs.com/tangshengwei/p/15843585.html
- 闲话网名之“J0ker”
- linux充气服务器,XenLinux balloon的实现分析
- 什么是JSP引擎?什么是JSP容器?什么是Web服务器?