PaintView.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:CXJPadProject 作者:
/***
 * 初始化
 */
private void init() {
    //关闭硬件加速
    //否则橡皮擦模式下,设置的 PorterDuff.Mode.CLEAR ,实时绘制的轨迹是黑色
    setBackgroundColor(Color.WHITE);//设置白色背景
    setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    //画笔
    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
    mPaint.setStrokeWidth(4f);
    mPaint.setAntiAlias(true);
    mPaint.setColor(Color.BLACK);
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);//使画笔更加圆润
    mPaint.setStrokeCap(Paint.Cap.ROUND);//同上
    mBitmapPaint = new Paint(Paint.DITHER_FLAG);
    //保存签名的画布
    post(new Runnable() {//拿到控件的宽和高
        @Override
        public void run() {
            //获取PaintView的宽和高
            //由于橡皮擦使用的是 Color.TRANSPARENT ,不能使用RGB-565
            mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_4444);
            mCanvas = new Canvas(mBitmap);
            //抗锯齿
            mCanvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
            //背景色
            mCanvas.drawColor(Color.WHITE);
        }
    });

    undoList = new LinkedList<>();
    redoList = new LinkedList<>();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号