2017-08-28 8 views
1

2つの画像を1つずつマージする必要があります。透明な部分がある最初の画像(background.png)があります。私は別のイメージ(image.png)をbackground.pngの上に置きたい。Androidは2つの画像を別の画像の上に併合します

最終的な画像が作成されるのは、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; 
} 
} 

答えて

0

レイアウトで重複する2つのイメージビューを使用してください。たぶん相対レイアウトを使用して、それらを配置することができます。次に、iamgeviewごとにイメージを設定し、それらを "マージ"します。

関連する問題