Android合并两个图像,1个在另一个上面

时间:2017-08-28 13:05:42

标签: android android-layout android-imageview android-image

我需要合并两张图片,一张在另一张图片之上。我有第一个图像(background.png),它有一个透明的部分。我想把另一个图像(image.png)放在background.png的顶部。

然而,对于创建的最终图像,我只想要显示与bakground.png的透明部分重叠的image.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;
}
}

1 个答案:

答案 0 :(得分:0)

尝试使用在布局中重叠的2个图像视图。也许使用相对布局来定位他们想要的方式。然后,您将为每个iamgeview设置一个图像,它们将被"合并"。