Java Graphics 图形绘制

简介: Graphics类提供基本绘图方法,Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。 画线段 drawLine public abstract void drawLine(int x1, ...
+关注继续查看

Graphics类提供基本绘图方法,Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。

画线段

drawLine
public abstract void drawLine(int x1,
                              int y1,
                              int x2,
                              int y2)
在此图形上下文的坐标系中,使用当前颜色在点 (x1, y1) 和 (x2, y2) 之间画一条线 
参数:
x1 - 第一个点的 x 坐标。
y1 - 第一个点的 y 坐标。
x2 - 第二个点的 x 坐标。
y2 - 第二个点的 y 坐标。
g.drawLine(10, 50, 100, 100);

画矩形

 

drawRect
public void drawRect(int x,
                     int y,
                     int width,
                     int height)

 

绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。

 

参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。
g.drawRect(120, 50, 200, 100);

 

画椭圆形

public abstract void drawOval(int x,
                              int y,
                              int width,
                              int height)

 

绘制椭圆的边框。得到一个圆或椭圆,它刚好能放入由 xywidth 和 height 参数指定的矩形中。

椭圆覆盖区域的宽度为 width + 1 像素,高度为 height + 1 像素。

 

参数:
x - 要绘制椭圆的左上角的 x 坐标。
y - 要绘制椭圆的左上角的 y 坐标。
width - 要绘制椭圆的宽度。
height - 要绘制椭圆的高度。
g.drawOval(160, 160, 200, 100);

 

画带颜色的图形

setColor
public abstract void setColor(Color c)
将此图形上下文的当前颜色设置为指定颜色。使用此图形上下文的所有后续图形操作均使用这个指定的颜色。

 

参数:
c - 新的呈现颜色。
g.setColor(Color.yellow);
g.fillRect(20,70,20,30); // 画矩形着色块

 

画圆

drawRoundRect

public abstract void drawRoundRect(int x,
                                   int y,
                                   int width,
                                   int height,
                                   int arcWidth,
                                   int arcHeight)
用此图形上下文的当前颜色绘制圆角矩形的边框。矩形的左边缘和右边缘分别位于 xx + width。矩形的上边缘和下边缘分别位于 yy + height

 

参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。
arcWidth - 4 个角弧度的水平直径。
arcHeight - 4 个角弧度的垂直直径。
g.setColor(Color.red); g.fillRoundRect(80,100,100,100,100,100);//画圆块

 

画圆弧

drawArc

public abstract void drawArc(int x,
                             int y,
                             int width,
                             int height,
                             int startAngle,
                             int arcAngle)
绘制一个覆盖指定矩形的圆弧或椭圆弧边框。

得到的弧从 startAngle 开始跨越 arcAngle 度,并使用当前颜色。对角度的解释如下:0 度角位于 3 点钟位置。正值指示逆时针旋转,负值指示顺时针旋转。

弧的中心是矩形的中心,此矩形的原点为 (xy),大小由 widthheight 参数指定。

得到的弧覆盖 width + 1 像素宽乘以 height + 1 像素高的区域。

角度是相对于外接矩形的非正方形区域指定的,45 度角始终落在从椭圆中心到外接矩形右上角的连线上。因此,如果外接矩形在一个轴上远远长于另一个轴,则弧段的起点和结束点的角度将沿边框长轴发生更大的偏斜。

 

参数:
x - 要绘制弧的左上角的 x 坐标。
y - 要绘制弧的左上角的 y 坐标。
width - 要绘制弧的宽度。
height - 要绘制弧的高度。
startAngle - 开始角度。
arcAngle - 相对于开始角度而言,弧跨越的角度。
g.drawArc(10,40,90,50,0,180); // 画圆弧线

g.drawArc(100,40,90,50,180,180); // 画圆弧线

g.setColor(Color.yellow); 
g.fillArc(10,100,40,40,0,-270); // 填充缺右上角的四分之三的椭圆

g.setColor(Color.green); 
g.fillArc(60,110,110,60,-90,-270); // 填充缺左下角的四分之三的椭圆

 

画多边形

/**
 * 绘制一个由 x 和 y 坐标数组定义的闭合多边形。每对 (x, y) 坐标定义一个点。
 */
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints);

/**
 * 填充由 x 和 y 坐标数组定义的闭合多边形。
 */
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
        int px[] = { 210, 220, 270, 250, 240 };
        int py[] = { 220, 250, 300, 270, 220 };
        g.drawPolygon(px, py, px.length);

 

 

 

画字符串

public abstract void drawString(String str,
                                int x,
                                int y)
使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。最左侧字符的基线位于此图形上下文坐标系的 (xy) 位置处。

 

参数:
str - 要绘制的 string。
x - x 坐标。
y - y 坐标。
g.setColor(Color.GREEN);
g.setFont(new Font("楷体", Font.BOLD, 20));
g.drawString("使用画笔绘制的字符串内容", 220, 345);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章
|
11月前
|
分布式计算 Java Hadoop
Java实现单词计数MapReduce
本文分享实现单词计数MapReduce的方法
275 0
|
11月前
|
Java 数据安全/隐私保护
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
705 0
JAVA 实现上传图片添加水印(详细版)(上)
|
11月前
|
Java
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
462 0
|
11月前
|
存储 Java
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
331 0
Java实现图书管理系统
|
11月前
|
Java Windows Spring
java实现spring boot项目启动时,重启Windows进程
java实现spring boot项目启动时,重启Windows进程
441 0
|
11月前
|
数据可视化 Java
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
383 0
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
|
11月前
|
网络协议 Java
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
ip地址的分类: 1、ipv4、ipv6 127.0.0.1:4个字节组成,0-255,42亿;30亿都在北美,亚洲就只有4亿 2011年就用尽了。
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
|
11月前
|
数据可视化 Java 容器
Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现
注意由于我们计步功能的步数要在重写方法中用到,所以不能将初始化语句写在方法体内,而是要写在成员位置。在其名字的时候也要做到“见名知意”,所以我们给它起名字为step
194 0
Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现
|
11月前
|
Java
Java实现拼图小游戏(7)—— 作弊码和判断胜利
当我们好不容易把拼图复原了,但是一点提示也没有,完全看不出来是成功了,那么我们就需要有判断胜利的功能去弹出“成功”类的图片,以便于玩家选择是重新开始还是退出小游戏
182 0
Java实现拼图小游戏(7)—— 作弊码和判断胜利
相关产品
机器翻译
推荐文章
更多