我有兩個位圖,背景和前景。如何在不使用其他Canvas的情況下在背景上繪製位圖前景?從另一個資源中繪製位圖
解決方案:
1)首先創建從資源的位圖與附加選項ARGB_8888
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
2)聲明位圖
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.background, options);
Bitmap foreground = BitmapFactory.decodeResource(getResources(), R.drawable.foreground, options);
3)內部的onDraw()函數繪製圖形
protected void onDraw(Canvas canvas)
{
canvas.drawColor(Color.White);
Paint paint = new Paint();
canvas.drawBitmap(background, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
canvas.drawBitmap(foreground, 0, 0, paint);
}
正如Soxxeh說,這是信息的很好來源:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.html
那麼這個解決方案的工作,還是你問一個問題? –