将矩形图片转化为圆形图片
Posted Tears_fg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将矩形图片转化为圆形图片相关的知识,希望对你有一定的参考价值。
功能:点击按钮将一张矩形的图片裁剪为圆形的图片,圆形图片为矩形的内切圆
工具类:
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; } }
实例:
以上是关于将矩形图片转化为圆形图片的主要内容,如果未能解决你的问题,请参考以下文章