CircleTransform.java 文件源码

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

项目:NovelReader 作者:
/**
 *
 * @param pool : 图片池,这个之后会谈到。
 * @param toTransform:需要进行处理的图片
 * @param outWidth:图片的宽
 * @param outHeight:图片的高
 * @return 返回处理完的图片
 */
@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
    Paint paint = new Paint();
    //初始化画笔
    paint.setStyle(Paint.Style.FILL);
    paint.setAntiAlias(true);
    paint.setDither(true);

    int width = toTransform.getWidth();
    int height = toTransform.getHeight();
    int size = Math.min(width,height);
    int x = (width - size)/2;
    int y = (height - size)/2;
    Bitmap result = pool.get(size,size, Bitmap.Config.ARGB_8888);
    if (result == null){
        result = Bitmap.createBitmap(size,size,Bitmap.Config.ARGB_8888);
    }
    //
    Canvas canvas = new Canvas(result);
    int radius = size/2;
    canvas.drawCircle(radius,radius,radius,paint);
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
    canvas.drawBitmap(toTransform,-x,-y,paint);
    return result;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号