应用程序的图标一般都是Drawable类型的,通过Drawable的getIntrinsicWidth()和getIntrinsicHeight()方法分别得到icon的宽度和高度,然后通过
Bitmap.createBitmap(Width, Height, Bitmap.Config.ARGB_8888)
创建一个新的位图,
通过新位图new 出一个canvas对象:
final Canvas canvas = sCanvas;
canvas.setBitmap(bitmap);
最后通过icon.draw()等方法在canvas上绘制图标:
sOldBounds.set(icon.getBounds());
icon.setBounds(left, top, left+width, top+height);
icon.draw(canvas);
icon.setBounds(sOldBounds);
canvas.setBitmap(null);
这里记得最后两点!
另外如果需要中需要为图标添加一张背景图片,需要:
在上面的基础之前绘制需要绘制的背景图片即可。