MaskFilter

来源:互联网 发布:g76内螺纹编程实例 编辑:程序博客网 时间:2024/06/06 06:38
public class MaskFilterView extends View {    public MaskFilterView(Context context) {        super(context);    }    public MaskFilterView(Context context, AttributeSet attrs) {        super(context, attrs);    }    public MaskFilterView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)    public MaskFilterView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {        super(context, attrs, defStyleAttr, defStyleRes);    }    Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.img);        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {            //View从API Level 11才加入setLayerType方法            //设置软件渲染模式绘图            setLayerType(View.LAYER_TYPE_SOFTWARE, null);        }        mPaint.setMaskFilter(new BlurMaskFilter(30f, BlurMaskFilter.Blur.NORMAL));        canvas.drawBitmap(mBitmap, 0, 0, mPaint);        mPaint.setColor(Color.RED);        mPaint.setMaskFilter(new BlurMaskFilter(20, BlurMaskFilter.Blur.NORMAL));                int w=getWidth();        int h=getHeight();        canvas.drawRect(mBitmap.getWidth()+20,20,w*0.8f,mBitmap.getHeight(), mPaint);        mPaint.setColor(Color.BLACK);        mPaint.setTextSize(50);        mPaint.setMaskFilter(new BlurMaskFilter(30f, BlurMaskFilter.Blur.OUTER));        canvas.drawText("OUTER abcd哈哈万剑123qwqeretyyuoip", 0, h * 1.0f / 2, mPaint);        mPaint.setMaskFilter(new BlurMaskFilter(30f, BlurMaskFilter.Blur.NORMAL));        canvas.drawText("NORMAL abcd哈哈万剑123qwqeretyyuoip", 0, h * 1.0f / 2 + 90, mPaint);        mPaint.setMaskFilter(new BlurMaskFilter(30f, BlurMaskFilter.Blur.SOLID));        canvas.drawText("SOLID abcd哈哈万剑123qwqeretyyuoip", 0, h * 1.0f / 2 + 180, mPaint);        mPaint.setMaskFilter(new BlurMaskFilter(30f, BlurMaskFilter.Blur.INNER));        canvas.drawText("INNER abcd哈哈万剑123qwqeretyyuoip", 0, h * 1.0f / 2 + 270, mPaint);    }}


0 0
原创粉丝点击