最近项目要求,安装第三方图标与系统图标显示风格统一,都显示为圆角,
我用ProterBuff.Mode,完成2D图像叠加显示.
public void picCover() {
Bitmap lay2 = BitmapFactory.decodeResource(getResources(),R.drawable.iconbg);
Bitmap lay1 = BitmapFactory.decodeResource(getResources(),
R.drawable.icon);
int width = lay2.getWidth();
int height = lay2.getHeight();
Bitmap resultBmp = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);Rect mTopSrcRect = new Rect(0, 0, width, height);
Rect mTopDestRect = new Rect(0, 0, width, height);
Paint paint = new Paint();
Canvas canvas = new Canvas(resultBmp);
canvas.drawBitmap(lay2, null, mTopSrcRect, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(lay1, null, mTopDestRect, paint);
imageView.setImageBitmap(resultBmp);
}
icon.png
iconbg.png
结果:
最后附图,以后方便查找。