Java中Graphics类的基础图形画法

Java中的Graphics和JavaScript的Canvas一样都是画布元素,在此本文对Graphics的基础图形画法做了总结。
1.画直线的drawLine()方法;
drawLine(int x1,int y1,int x2,int y2)该方法中共有4个参数
(x1,y1)表示起始点的坐标,(x2,y2)表示终点的坐标。

//画一条直线,两点坐标分别为(0,20),(150,150)
g.drawLine(20, 20, 150, 150);

效果图如下:
直线效果
2. 画矩形分为普通矩形和圆角矩形;
(1)普通矩形有两种方法:
第一种,drawRect(int x,int y ,int width,int heiht);其中(x,y)表示矩形左上角点的坐标,再有width和height来设置矩形的宽高,画出来的矩形是空心的。

//画一个空心的矩形,左上角点的坐标(50,50)宽高分别为150,150
g.drawRect(50, 50, 150, 150);

效果图如下:
一个空心的矩形
第二种,g.fillRect(int x,int y ,int width,int heiht);其中(x,y)表示矩形左上角点的坐标,再有width和height来设置矩形的宽高,画出来的矩形是实心的。

//画一个实心的矩形,左上角点的坐标(50,50)宽高分别为150,150
g.fillRect(50, 50, 150, 150);

效果图如下:
一个实心的矩形
(2)圆角矩形也有两种方法:
第一种,drawRoundRect(int x,int y ,int width,int heiht,int arcWidth,int arcHeight);其中(x,y)表示矩形左上角点的坐标,其次width和height来设置矩形的宽高,最后arcWidth和 arcHeight分别为圆角弧的横向直径和角弧的纵向直径,画出来的圆角矩形是空心的。

//画一个空心的圆角矩形,左上角点的坐标(50,50)宽高分别为150,150,横向直径和角弧的纵向直径分别为30,30
g.drawRoundRect(50, 50, 150, 150,30,30)

效果图如下:一个空心的圆角矩形
第二种,fillRoundRect(int x,int y ,int width,int heiht,int arcWidth,int arcHeight);其中(x,y)表示矩形左上角点的坐标,其次width和height来设置矩形的宽高,最后arcWidth和 arcHeight分别为圆角弧的横向直径和角弧的纵向直径,画出来的圆角矩形是实心的。

//画一个实心的圆角矩形,左上角点的坐标(50,50)宽高分别为150,150,横向直径和角弧的纵向直径分别为30,30
g.fillRoundRect(50, 50, 150, 150,30,30);

效果图如下:
画一个实心的圆角矩形
3.画圆形/椭圆有两种方法;
第一种,drawOval(int x, int y,int widht, int height),其中(x,y)表示椭圆左上角点的坐标,然后width和hight是横轴和纵轴的长度(它们的长度不同就可画出椭圆),画出来是的一个空心的圆形/椭圆。

//画一个空心的圆形/椭圆,左上角点的坐标(50,50),横轴和纵轴的长度分别为150,150(它们的长度不同就可画出椭圆)
g.drawOval(50, 50, 150, 150);

效果图如下:
一个空心的圆形/椭圆
第二种,fillOval(int x, int y,int widht, int height),其中(x,y)表示椭圆左上角点的坐标,然后width和hight是横轴和纵轴的长度(它们的长度不同就可画出椭圆),画出来是的一个实心的圆形/椭圆。

//画一个实心的圆形/椭圆,左上角点的坐标(50,50),横轴和纵轴的长度分别为150,150(它们的长度不同就可画出椭圆)
g.fillOval(50, 50, 150, 150);

效果图如下:
一个实心的圆形/椭圆
4.在此分享一个擦除矩形块的方法clearRect();
clearRect(int x, int y,int widht, int height)其参数和drawRect()方法相同,在此不做具体说明。

g.setColor(Color.red);//设置椭圆的填充颜色为红色
g.fillOval(50, 50, 250, 200);//画一个实心的椭圆,左上角点的坐标(50,50),横轴和纵轴的长度分别为250,200
g.clearRect(60, 60, 70, 70);//擦除一块左上角点的坐标(50,50),宽高分别为70,70的矩形区域

效果图如下:
擦除红色椭圆中的一块矩形区域
5.设置字体及添加文字
setFont(Font font)方法来设置字体样式
drawString(String str, int x, int y)方法在画布中输出文字,(x,y)表示文字左上角点的坐标

Font font_size = new Font("宋体", Font.ITALIC, 30);//定义一个字体样式为宋体,斜体,字号30
g.setFont(font_size);//设置字体样式
g.drawString("Graphics", 200, 200);//将"Graphics"写入画布中,文字左上角坐标(200,200)

效果图如下:
写一个宋体,斜体,字体号30的Graphics
6.画出了自己喜欢的图形,应该也要给它们着色,此刻就要知道setColor()的方法;
setColor(Color.red);这是设置颜色为红色,当然也可以和Random函数配合设置出随机的颜色setColor(new Color(int c1,int c2,int c3))。

当然,本文只是分享个人认为较为常有的方法,希望可以帮助到博友。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值