ImageDecoder.java 文件源码

java
阅读 43 收藏 0 点赞 0 评论 0

项目:GitHub 作者:
/**
 * 裁剪圆形图片
 *
 * @param source
 * @param recycleSource 裁剪成功后销毁原图
 * @return
 */
public static Bitmap cut2Circular(Bitmap source, boolean recycleSource) {
    int width = source.getWidth();
    int height = source.getHeight();
    int diameter = Math.min(width, height);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    Bitmap result = Bitmap.createBitmap(diameter, diameter, Bitmap.Config.ARGB_8888);
    if (result != null) {
        Canvas canvas = new Canvas(result);
        canvas.drawCircle(diameter / 2, diameter / 2, diameter / 2, paint);
        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
        canvas.drawBitmap(source, (diameter - width) / 2, (diameter - height) / 2, paint);
        if (recycleSource) {
            source.recycle();
            source = null;
        }
    } else {
        result = source;
    }
    return result;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号