Android 2D绘图基础

系统通过Canvas 对象来提供各种绘图方法,有绘制 点 ,线,长方形,圆,扇形,文字等...   、

通过字面意思Canvas是画布的意思,那么画布有,还缺了画笔---Paint,有了画布,画笔,那么就可以开始画图了!


 Paint 可以直接new出来,并设置一些属性

  mPaint = new Paint();           // 创建画笔
        mPaint.setAntiAlias(true);      // 设置是否带有锯齿
        mPaint.setColor(Color.GRAY);    // 设置带有颜色
        mPaint.setARGB(200, 1000, 100, 100);   // 设置 ARGB 透明度 三原色 大小 A 0~255  三原色 0~255
      // mPaint.setAlpha(100);             // 透明度

 这样画笔就创建好了,还有一些属性能用到再设置。


画布 我们可以直接重写 onDraw();方法拿到。

1.绘制直线

 canvas.drawLine(200, 200, 300, 300, mPaint); // 线
        float [] pts = {400,200,500,300,
                        500,300,400,500,
                        400,500,500,700};
         canvas.drawLines(pts, mPaint);      // 绘制多条直线

2.绘制矩形 ,在绘制矩形时,可以设置Style 是否空心

		mPaint.setStyle(Paint.Style.FILL);  // 实心
		mPaint.setStyle(Paint.Style.STROKE); // 空心

		canvas.drawRect(10, 10, 100, 100, mPaint); //矩形
		RectF rect = new RectF(500, 500, 800, 800);
                mPaint.setStyle(Paint.Style.STROKE); // 空心
       <span style="white-space:pre">		</span>mPaint.setStrokeWidth(2);
       <span style="white-space:pre">		</span>canvas.drawRoundRect(rect, 50, 50, mPaint);


3.绘制扇形  扇形有四种形式 空心,实心(通过设置mPaint.setStyle(Paint.Style.FILL);  // 实心),useCenter是否为true(是否设置边界线)

        canvas.drawArc(600, 600, 700, 700, 30, 100, true, mPaint); // 扇形
        canvas.drawArc(600, 600, 700, 700, 30, 100, false, mPaint); // 扇形

4.绘制文字  在绘制文字是要设置文字大小

 mPaint.setTextSize(40);
        canvas.drawText("ANDROID", 0, 600, mPaint);  // 绘制文字
        Path path = new Path();     //根据路径绘制
        path.moveTo(0,200);
        path.lineTo(100, 300);
        path.lineTo(150, 500);
        path.close();
        canvas.drawTextOnPath("ANDROID",path,10,10,mPaint);  // 根据路径绘制文字


5.通过外接矩形来绘制椭圆

 canvas.drawOval(0,600,200,800,mPaint);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值