/*** 画线/折线*/

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画图基本操作-线/折线,圆弧/扇形,椭圆,文本相关推荐

  1. java画笑脸_java的画图运用。一个简答的笑脸程序☺

    一个简答的笑脸. 需要两个java文件 代码如下: GradeBook.java import java.awt.Color; import java.awt.Graphics; import jav ...

  2. java画虚线_java cansvas 画虚线要怎么设置?

    展开全部 java cansvas 画虚线通过Graphics2D setStroke(BasicStroke) 设置笔画虚线模式.32313133353236313431303231363533e5 ...

  3. java 画树_java Graphics 绘制树形图,保存图片

    最近项目中要做报告,生成树形图显示父子关系,网上没找到合适的工具,所以用Graphics画了个简单的. 很简单直接上代码吧. import javax.imageio.ImageIO; import ...

  4. 用java画乌龟_java用swing画可以行走的乌龟

    代码如下: import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.a ...

  5. java 画树_java – 如何绘制代表连接节点图的树?

    我想在Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode r ...

  6. java 画树_java – 如何绘制代表连接节点图的树?

    我想在 Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode ...

  7. java画圈_java动态画圈圈。运用多线程,绘图

    总结:只是意外的收获吧.之前一篇是老师教的,一个点,从底层开始升起,到鼠标按下的地方开始画圈圈, 现在改变了一下,因为点上升的一个循环和画圈的循环是分开的 现在让点点自己跑,并且边跑边画圈.而且在fo ...

  8. java 画星星_Java——绘制五角星

    Java2D支持通过GeneralPath实现绘制任意的几何形状. 步骤:1)实例化GeneralPath对象 2)调用moveTo()方法锚地开始点坐标 3)调用lineTo()或curveTo() ...

  9. java 画弧线,利用Android画圆弧canvas.drawArc()实例详解

    前言 在学习android中图形图像处理技术这部分内容时,对绘制圆弧函数canvas.drawArc()的用法.参数含义及画图原理很是不理解,在网上搜索了一些,加上自己的理解,在此做个小总结,下面来一 ...

最新文章

  1. 厉害了程序员~凡尔赛文学现作 | 每日趣闻
  2. 《并行计算的编程模型》一2.4.1 GASNet段
  3. 最长上升子序列问题 (LIS)
  4. LeetCode198——house robber(不懂dp)
  5. Numpy | Python列表与Numpy数组对比
  6. ZooKeeper与Eureka作为注册中心的比较
  7. Java 使用Commons-fileupload组件实现上传
  8. 数据结构与算法学习网
  9. python 谷歌翻译 api_调用谷歌翻译API
  10. DNS,NS,TTL相互关系
  11. 【翻译】200行代码讲透RUST FUTURES (7)
  12. cad缩放_CAD常见问题详解,解决你当前的烦恼
  13. HTML5主要针对什么进行优化,html5哪些标签可以优化SEO?
  14. 计算机无法切换用户权限,“无法更改的Administrator账户密码”的解决方案
  15. 同花顺_代码解析_技术指标_S
  16. OpenJudge NOI 2.1 7621:硬币面值组合
  17. 修改远程仓库地址,更换远程仓库https://www.cnblogs.com/tangshengwei/p/15843585.html
  18. 闲话网名之“J0ker”
  19. linux充气服务器,XenLinux balloon的实现分析
  20. 什么是JSP引擎?什么是JSP容器?什么是Web服务器?

热门文章

  1. 借军工经验开拓消费市场,三星显示收购eMagin浅析
  2. 手机音效手机测试-游戏类
  3. lim(n→+∞)(1+1/n)^n=e?
  4. 安信可 GPRS A9G二次开发使用
  5. OFD文档标准 4.公共资源文档
  6. 强迫自己学习C艹的第一天
  7. 什么人适合玩启灯网配资?
  8. 荧光生物标记物5-FAM-Alkyne,CAS:510758-19-7
  9. 2022年的有关语义分割的论文,含CVPR、ECCV、ICLR、AAAI
  10. Vue生命周期及组件