2D画平面图形

一、绘制2D图形使用四个类
  • Canvas:画布类,相当于手机屏幕
  • Paint:画笔类,使用相关方法绘制图形
  • Rect:矩形类
  • RectF:圆角矩形类
二、使用View类的两个方法
  • onDraw(Canvas canvas)
    用于绘制当前View;
  • invalidate()
    用于通知系统重绘View,也就是重新调用onDraw()方法
  • invalidate()必须在UI线程总调用。其他线程要调用postInvalidate(),来通知系统调用回到onDraw()方法;
三、绘图坐标

以手机屏幕的左上角为原点,为x,y轴;

四、绘画步骤:
  1. 创建一个自定义类继承View;
  2. 构造方法;
  3. 重写onDraw()方法,在onDraw()方法中设置画布颜色,画笔颜色
    用Paint类进行绘制图形;
    4.将该类作为Activity的布局文件中的控件,这样就可以显示在屏幕;
五、重写onDraw(Canvas canvas)
  • 重写onDraw(Canvas canvas)方法
  • 使用两个类:
    画布类:Canvas,Canvas 类为绘制图形的画布,即图形都在画布上绘制;
    画笔类:Paint,用于绘制图形;
  • 设置画布背景颜色:灰色
canvas.drawColor(Color.GRAY);
  • 创建画笔:画笔颜色、粗细,决定了图形颜色和图形线条的宽度
Paint paint=new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);//设置抗锯齿
piant.setStrokeWidth(10);//设置画笔粗细
  • 画点
canvas.drawPoint(100,30,paint);
  • 画线
paint.setColor(Color.YELLOW);
canvas.drawLine(10,50,600,50,paint);
  • 画矩形
paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(100,20,30,40,paint);
  • 画圆
canvas.drawCircle(50,100,40,paint);
  • 画文字
  • Paint.Align.CENTER:居中
  • Paint.Align.LEFT:居左
  • Paint.Align.RIGHT:居右
  • measureText(String text)//获取文字的宽度,返回值的单位:像素,text:文本
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(20);
canvas.drawText("PHILISP",50,45,paint);

你可能感兴趣的:(2D画平面图形)