2010-09-09 6 views
15

Je recouvertes ai une choses à faire avec Android, donc, j'ai 2 images, 1. l'image de la caméra 2. une autre image de quelque partCombinant 2 Images

donc ce que je veux atteindre est comment combiner ces images en 1 image, mais il est en chevauchement (comme le tatouage de l'image), la 2ème image doit être mise à l'échelle dans la taille de la 1ère image (caméra) - donc ils ont la même dimension, puis si la 2ème image le pixel est noir, ne le combinez pas (donc le noir signifie la couleur transparente - sur la 2ème image)

savez-vous quelle est la meilleure façon d'y parvenir, puis-je le faire avec xo r ou bit à bit?

Toute référence ou code d'échantillon serait vraiment très appréciable.

Merci les gars,

+0

http: //kyogs.blogspot. dans/2012/08/mearge-images.html cochez celui-ci. – kyogs

Répondre

44

Pour superposant deux bitmaps:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { 
     Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); 
     Canvas canvas = new Canvas(bmOverlay); 
     canvas.drawBitmap(bmp1, new Matrix(), null); 
     canvas.drawBitmap(bmp2, 0, 0, null); 
     return bmOverlay; 
    } 

Et pour une première mise à l'échelle, vous devriez vérifier createScaledBitmap, par exemple:

Bitmap scaledBitmap = Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter); 
+0

salut là, merci pour votre réponse, je vais essayer d'abord et de revenir ici avec le résultat – AnD

+0

salut Il est de travail même avec la grande dimension ~ 2000px x 1500px, mais la chose est si je le fais deux fois, la deuxième tentative est une exception (peut être désynchronisé) - je mets ton code à l'intérieur du fil – AnD

+0

@ AnD @ Cpt.Ohlund: Dans mon appareil bottomImage (bmp1) ne s'affiche pas.On sait pourquoi? Au lieu de cette image, une couleur apparaissait. – Surej