Android объединяет два изображения, 1 поверх другого

Мне нужно объединить два изображения, одно поверх другого. У меня есть первое изображение (background.png), где оно имеет прозрачную часть. Я хочу поместить другое изображение (image.png) поверх background.png.

Однако для окончательного изображения, которое будет создано, я хочу, чтобы отображалась только часть image.png, которая перекрывается с прозрачной частью bakground.png, остальная часть нового изображения будет показывать фон.

Вот мой код для слияния изображения, но я не уверен, как это сделать. Спасибо.

public class MainActivity  extends ActionBarActivity {

private ImageView collageImage;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    collageImage = (ImageView)findViewById(R.id.imageView3);

    Button combineImage = (Button)findViewById(R.id.combineimage);
    combineImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Bitmap bigImage = BitmapFactory.decodeResource(getResources(), R.drawable.multiple);
            Bitmap smallImage = BitmapFactory.decodeResource(getResources(), R.drawable.multipletwo);
            Bitmap mergedImages = createSingleImageFromMultipleImages(bigImage, smallImage);

            collageImage.setImageBitmap(mergedImages);
        }
    });
}

private Bitmap createSingleImageFromMultipleImages(Bitmap firstImage, Bitmap secondImage){

    Bitmap result = Bitmap.createBitmap(firstImage.getWidth(), firstImage.getHeight(), firstImage.getConfig());
    Canvas canvas = new Canvas(result);
    canvas.drawBitmap(firstImage, 0f, 0f, null);
    canvas.drawBitmap(secondImage, 10, 10, null);
    return result;
}
}

person Julia    schedule 28.08.2017    source источник


Ответы (1)


Попробуйте использовать 2 изображения, которые перекрываются в макете. Возможно, используйте относительный макет, чтобы расположить их так, как вы хотите. Затем вы установите изображение для каждого iamgeview, и они будут «объединены».

person Tudor Lozba    schedule 28.08.2017