美文网首页
Paint常用用法

Paint常用用法

作者: 我弟是个程序员 | 来源:发表于2017-08-07 23:41 被阅读0次

效果图:

效果图

本文不是为了完成一个像上图一样的渣渣效果,只是简单说明一下Canvas 和Paint的基本使用记录。

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;

public class DrawView extends View {

    Paint mPaint;

    public DrawView(Context context) {
        super(context);
        init();
    }

    public DrawView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {

        // 设置抗锯齿开关
//        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG );

        mPaint = new Paint();
        mPaint.setAntiAlias(true);      // 设置抗锯齿开关

    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        int x = getWidth() / 2;
        int y = getHeight() / 2;

        //画布颜色  类似的方法还有 drawRGB(int r, int g, int b) 和 drawARGB(int a, int r, int g, int b)
        // 这类颜色填充方法一般用于在绘制之前设置底色,或者在绘制之后为界面设置半透明蒙版。
        canvas.drawRGB(200,200,200);

        //设置绘制内容的颜色
        mPaint.setColor(Color.BLUE);

        //模式改为画线模式   FILL 是填充模式,STROKE 是画线模式(即勾边模式),FILL_AND_STROKE 是两种模式一并使用:既画线又填充。
        //它的默认值是 FILL,填充模式
        mPaint.setStyle(Paint.Style.STROKE);

        //在 STROKE 和 FILL_AND_STROKE 下,还可以使用 paint.setStrokeWidth(float width) 来设置线条的宽度
        mPaint.setStrokeWidth(20);


        canvas.drawRect(x / 2, x / 2, x * 1.5f, y * 1.5f, mPaint);
        mPaint.setColor(Color.YELLOW);
        canvas.drawLine(x / 2,x / 2,x * 1.5f, y * 1.5f, mPaint);
        mPaint.setColor(Color.GREEN);
        canvas.drawLine(x * 1.5f, y /2,x/2,y*1.5f,mPaint );

        mPaint.setColor(Color.BLUE);
        //点的形状可以通过  paint.setStrokeCap(cap) 来设置:ROUND 画出来是圆形的点,SQUARE 或 BUTT 画出来是方形的点。
        mPaint.setStrokeCap(Paint.Cap.ROUND );
        mPaint.setStrokeWidth(100);
        canvas.drawPoint(x,y,mPaint);

    }
}

相关文章

网友评论

      本文标题:Paint常用用法

      本文链接:https://www.haomeiwen.com/subject/iiezlxtx.html