简单图形描绘

10月末的天气渐渐冷了许多,不小心被一场感冒侵袭了,今天补上。
上篇已经把最基本的知识点都说完了,画画所需要的东西我们也都知道了,下面我们就实际来说说一些点,线条,圆,矩形是怎么被描绘出来的。(这里用下GcsSloop的图,嘿嘿)
Canvas的常用操作速查表
上面这张图给出了Canvas的相关Api
举几个例子吧:

画布绘制颜色
绘制颜色是填充整个画布,常用于绘制底色。

canvas.drawColor(Color.BLUE);

绘制点,有三个参数,前两个是点的位置,后面是画笔,画笔属性前一篇讲过了:

canvas.drawPoint(x,y,paint);

绘制一些列点就是drawPoints(position[][],paint),相信聪明的你会用。

绘制线条,五个参数,两点确定一条直线,前四个参数也就是首尾两点的坐标,第五个参数是画笔:

canvas.drawLine(x1,y1,x2,y2,paint);

绘制矩形,其实三种方法大同小异,主要就是确定矩形的左上点和右下点,Rect和RectF的区别就是后者为浮点型,更为精确。

(1)canvas.drawRect(x1,y1,x2,y2,paint);
(2)Rect rect=new Rect(x1,y1,x2,y2);
    canvas.drawRect(rect,paint);
(3)RectF rectF=new RectF(x1,y1,x2,y2);
    canvas.drawRectF(rectF,paint);

绘制圆角矩形,主要加了两个参数,表示圆角的程度,rx,ry(rx,ry过大就自然变成椭圆了):

// 第一种
    RectF rectF = new RectF(100,100,800,400);
    canvas.drawRoundRect(rectF,30,30,mPaint);
// 第二种
canvas.drawRoundRect(100,100,800,400,30,30,mPaint);

绘制椭圆,其实就是在矩形内画椭圆:

// 第一种
    RectF rectF = new RectF(100,100,800,400);
    canvas.drawOval(rectF,mPaint);

// 第二种
canvas.drawOval(100,100,800,400,mPaint);

绘制圆,四个参数,前两个是圆心,第三个是半径:

canvas.drawCircle(x,y,r,paint);

绘制圆弧,重点看下第一种方法的第二三四三个参数,分别是起始角度,划过角度,是否使用中心点(true的话有由圆心指向弧线端点的线,补全,false就是只有弧线端点连线补全):

    // 第一种
    public void drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter, @NonNull Paint paint){}

    // 第二种
        public void drawArc(float left, float top, float right, float bottom, float startAngle,float sweepAngle, boolean useCenter, @NonNull Paint paint) {}

基本图形差不多就说完了,明天见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值