私は2つのビットマップの背景とforegroundを持っています。別のCanvasを使用せずに背景にビットマップフォアグラウンドを描画するにはどうすればよいですか?リソースから別のビットマップを描画します
ソリューション:
1)まず、追加のオプションを使用して、リソースからビットマップを作成するにはARGB_8888
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
2)onDraw()関数ドローグラフィック
内部ビットマップBitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.background, options);
Bitmap foreground = BitmapFactory.decodeResource(getResources(), R.drawable.foreground, options);
3)を宣言します
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
このソリューションは機能するのですか、それとも質問しましたか? –