• 创建一个圆形头像框


    GitHub:链接

     

    package com.example.administrator.testt;
    
    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.graphics.PaintFlagsDrawFilter;
    import android.graphics.Path;
    import android.graphics.Rect;
    import android.graphics.Region;
    import android.util.AttributeSet;
    
    public class RoundImageView extends android.support.v7.widget.AppCompatImageView{
        private Bitmap mBitmap;
        private Rect mRect = new Rect();//Rect=Rectangle
        private PaintFlagsDrawFilter pdf = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG);
        private Paint mPaint = new Paint();
        private Path mPath = new Path();
    
        public RoundImageView(Context context, AttributeSet attributeSet) {
            super(context,attributeSet);
            init();
        }
    
        public void setBitmap(Bitmap bitmap) {
            this.mBitmap = bitmap;
        }
    
        private void init(){
            mPaint.setStyle(Paint.Style.STROKE);
            mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
            mPaint.setAntiAlias(true); // 抗锯齿
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            if (mBitmap == null) {
                return;
            }
            mRect.set(0, 0, getWidth(), getHeight());
            canvas.save();
            canvas.setDrawFilter(pdf);
            mPath.addCircle(getWidth()/2,getWidth()/2,getHeight()/2,Path.Direction.CCW);
            canvas.clipPath(mPath, Region.Op.REPLACE);
            canvas.drawBitmap(mBitmap, null, mRect, mPaint);//绘制图
            canvas.restore();
        }
    }

  • 相关阅读:
    A. Dreamoon and Stairs(Codeforces Round #272)
    bootstrap之UpdateStrings
    FZU
    IT忍者神龟之 oracle行转列、列转行
    linux find 10天内改动过的文件
    内核调试日志打印宏
    ack-grep 代码全文搜索
    JDK配置 linux
    IDA修改游戏
    curl 访问https问题
  • 原文地址:https://www.cnblogs.com/Ravenzzz/p/9771280.html
Copyright © 2020-2023  润新知