zoukankan      html  css  js  c++  java
  • android通过Canvas和Paint截取无锯齿圆形图片

      一个通过Canvas和Paint截取无锯齿圆形图片。

        /**
         * 根据原图和变长绘制圆形图片
         *
         * @param source
         * @param min
         * @return
         */
        public static Bitmap createCircleImage(Bitmap source, int min) {
            Paint paint = new Paint();
    //        paint.setStyle(Paint.Style.STROKE);
    //        paint.setFlags(Paint.ANTI_ALIAS_FLAG);
            paint.setAntiAlias(true);
            paint.setFilterBitmap(true);
            Bitmap target = Bitmap.createBitmap(min, min, source.getConfig());
            /**
             * 产生一个同样大小的画布
             */
            Canvas canvas = new Canvas(target);
    
            /**
             * 首先绘制圆形
             */
            canvas.drawCircle(min / 2, min / 2, min / 2, paint);
            /**
             * 使用SRC_IN
             */
            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
    
            /**
             * 给Canvas加上抗锯齿标志
             */
            canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
    
            /**
             * 绘制图片
             */
            canvas.drawBitmap(source, 0, 0, paint);
            return target;
        }
  • 相关阅读:
    [译]ABP vNext微服务演示,项目状态和路线图
    [译]初试C# 8.0
    [译]ABP vNext介绍
    ViewModel从未如此清爽
    python 函数基础及装饰器
    python 基础一
    scrapy基础二
    scrapy 基础
    python 基础技巧
    pandas 基础
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5694503.html
Copyright © 2011-2022 走看看