Нарисуйте растровые изображения из ресурсов поверх другого

У меня есть два растровых изображения, фони передний план. Как нарисовать передний план растрового изображения на фоне без использования другого холста?

Решение:

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); 
}

И, как сказал Соксех, это очень хорошо источник информации: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.html

6
задан Trilarion 3 February 2016 в 21:34
поделиться