zoukankan      html  css  js  c++  java
  • 创建一个圆形头像框

    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();
        }
    }

  • 相关阅读:
    MySQL 中文显示乱码
    sprintf
    持续集成
    两个数据库中的数据同步问题(转)
    指针和引用的区别
    #define,const,typedef三者联系与区别
    [转载]selenium webdriver学习(八)
    PHPUnit学习安装
    CI是什么?
    图形界面的操作(转)
  • 原文地址:https://www.cnblogs.com/Ravenzzz/p/9771280.html
Copyright © 2011-2022 走看看