首页 > 代码库 > 将矩形图片转化为圆形图片

将矩形图片转化为圆形图片

功能:点击按钮将一张矩形的图片裁剪为圆形的图片,圆形图片为矩形的内切圆

工具类:

import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;/** * 将矩形图片变为圆形的工具类 */public class CircleBitmap  {    public Bitmap getBitmap(Bitmap source) {        //我这里是得到bitmap宽与高的最小值,然后作为圆的半径          int min = source.getHeight()>source.getWidth()?source.getWidth():source.getHeight();        return createCircleImage(source,min);    }    /**     * 创建圆形图片的一个方法     * @param source  需要转变成圆形的bitmap图片     * @param min  圆形bitmap的半径     * @return 返回变换好的圆形bitmap     */    private Bitmap createCircleImage(Bitmap source, int min)    {        final Paint paint = new Paint();        paint.setAntiAlias(true);        Bitmap target = Bitmap.createBitmap(min, min, Bitmap.Config.ARGB_8888);        /**         * 产生一个同样大小的画布         */        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.drawBitmap(source, 0, 0, paint);        return target;    }}

实例:

 

将矩形图片转化为圆形图片