现在IM(包括第三方的环信、融云等)都在仿微信,我也是遇到这种需求之后,写的这个图片剪裁,效果如下:
![image] (https://github.com/nicewarm/WeChatImageClipping/blob/master/image/clipping.png)
主要代码如下:
Bitmap roundConcerImage = Bitmap.createBitmap(500,500, Config.ARGB_8888);
Canvas canvas = new Canvas(roundConcerImage);
Paint paint = new Paint();
Rect rect = new Rect(0,0,500,500);
Rect rectF = new Rect(0, 0, bitmap_in.getWidth(), bitmap_in.getHeight());
paint.setAntiAlias(true);
NinePatch patch = new NinePatch(bitmap_bg, bitmap_bg.getNinePatchChunk(), null);
patch.draw(canvas, rect);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap_in, rectF, rect, paint);