zoukankan      html  css  js  c++  java
  • Canvas的flag具体的含义

    示例代码:

    package com.loaderman.customviewdemo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.view.View;
    
    public class MATRIX_SAVE_FLAG_View extends View {
        private Paint mPaint;
        public MATRIX_SAVE_FLAG_View(Context context, AttributeSet attrs) {
            super(context, attrs);
            setLayerType(LAYER_TYPE_SOFTWARE,null);
            mPaint = new Paint();
    
            mPaint.setColor(Color.GRAY);
        }
    
        @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    
            canvas.save(Canvas.MATRIX_SAVE_FLAG);
            canvas.rotate(40);
            canvas.drawRect(100,0,200,100,mPaint);
            canvas.restore();
    
            mPaint.setColor(Color.BLACK);
            canvas.drawRect(100,0,200,100,mPaint);
    
    //    canvas.save(Canvas.MATRIX_SAVE_FLAG);
    //    canvas.clipRect(100,0,200,100);
    //    canvas.drawColor(Color.GRAY);
    //    canvas.restore();
    //
    //    canvas.drawColor(Color.BLACK);
    }
    }

    package com.loaderman.customviewdemo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.view.View;
    
    
    public class CLIP_SAVE_FLAG_View extends View {
        private Paint mPaint;
        public CLIP_SAVE_FLAG_View(Context context, AttributeSet attrs) {
            super(context, attrs);
            setLayerType(LAYER_TYPE_SOFTWARE,null);
            mPaint = new Paint();
    
        }
    
        @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    
    //        canvas.drawColor(Color.RED);
    //        canvas.save(Canvas.CLIP_SAVE_FLAG);
    //        canvas.clipRect(100,0,200,100);
    //        canvas.restore();
    //
    //        canvas.drawColor(Color.YELLOW);
    
        mPaint.setColor(Color.GRAY);
        canvas.drawRect(100,0,200,100,mPaint);
    
        canvas.save(Canvas.CLIP_SAVE_FLAG);
        canvas.rotate(40);
        canvas.restore();
    
        mPaint.setColor(Color.BLACK);
        canvas.drawRect(100,0,200,100,mPaint);
    }
    }

    package com.loaderman.customviewdemo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.view.View;
    
    
    public class ALPHA_COLOR_FALG_VIEW extends View {
        private Paint mPaint;
        public ALPHA_COLOR_FALG_VIEW(Context context, AttributeSet attrs) {
            super(context, attrs);
            setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            mPaint = new Paint();
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
    //        canvas.drawColor(Color.GRAY);
    //
    //        canvas.saveLayer(0,0,300,300,mPaint,Canvas.HAS_ALPHA_LAYER_SAVE_FLAG);
    //        mPaint.setColor(Color.BLACK);
    //        canvas.drawRect(100,100,200,200,mPaint);
    //        canvas.restore();
    
    
            canvas.drawColor(Color.GRAY);
    
            canvas.saveLayer(0,0,300,300,mPaint,Canvas.MATRIX_SAVE_FLAG);
            canvas.rotate(40);
            mPaint.setColor(Color.BLACK);
            canvas.drawRect(100, 100, 200, 200, mPaint);
            canvas.restore();
        }
    }

    package com.loaderman.customviewdemo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.view.View;
    
    
    public class CLIP_SAVE_FLAG_View extends View {
        private Paint mPaint;
        public CLIP_SAVE_FLAG_View(Context context, AttributeSet attrs) {
            super(context, attrs);
            setLayerType(LAYER_TYPE_SOFTWARE,null);
            mPaint = new Paint();
    
        }
    
        @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    
    //        canvas.drawColor(Color.RED);
    //        canvas.save(Canvas.CLIP_SAVE_FLAG);
    //        canvas.clipRect(100,0,200,100);
    //        canvas.restore();
    //
    //        canvas.drawColor(Color.YELLOW);
    
        mPaint.setColor(Color.GRAY);
        canvas.drawRect(100,0,200,100,mPaint);
    
        canvas.save(Canvas.CLIP_SAVE_FLAG);
        canvas.rotate(40);
        canvas.restore();
    
        mPaint.setColor(Color.BLACK);
        canvas.drawRect(100,0,200,100,mPaint);
    }
    }

  • 相关阅读:
    PostgreSQL安装的后续工作
    进程在Linux上实际需要多少内存
    PostgreSQL的大对象以及空间使用 (3)
    PostgreSQL的大对象以及空间使用 (2)
    PostgreSQL的大对象以及空间使用 (1)
    PostgreSQL的WAL(4)--WAL创建和调优
    Cannot set Column 'EffectiveDate' to be null. Please use DBNull instead.
    除去datatable的空行
    sql like in 语句获取以逗号分割的字段内的数据
    el-cascader 设置选中任意一级
  • 原文地址:https://www.cnblogs.com/loaderman/p/10219514.html
Copyright © 2011-2022 走看看