2017-08-28 238 views
1

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

但是,对于创建的最终图像,我只希望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; 
} 
} 

回答

0

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

相关问题