2017-08-28 4 views
1

Je dois fusionner deux images, l'une sur l'autre. J'ai la première image (background.png) où il y a une partie transparente. Je veux mettre une autre image (image.png) sur le background.png.Android fusionne deux images, l'une sur l'autre

Cependant, pour l'image finale qui est créée, je ne veux qu'une partie de l'image.png qui chevauche la partie transparente de bakground.png à afficher, le reste de la nouvelle image montrera l'arrière-plan.

Voici mon code pour fusionner l'image, mais je ne suis pas sûr de savoir comment aller d'ici. Merci.

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

Répondre

0

Essayez d'utiliser 2 images qui se chevauchent dans la mise en page. Peut-être utiliser une disposition Relative pour les positionner comme vous le souhaitez. Ensuite, vous allez définir une image pour chaque iamgeview et ils seront "fusionnés".