2012-05-16 21 views
13

Mam dwa obrazy i chcę zapisać jeden obraz bitmapowy nad innym dokładnie w tym samym miejscu, w którym jest obecny, a także przenieść obraz za pomocą gestu.jak scalić dwie bitmapy jedna na drugą

public Bitmap combineImages(Bitmap ScaledBitmap, Bitmap bit) { 

     int X = bit.getWidth(); 
     int Y = bit.getHeight(); 

     Scaled_X = ScaledBitmap.getWidth(); 
     scaled_Y = ScaledBitmap.getHeight(); 

     System.out.println("Combined Images"); 

     System.out.println("Bit :" + X + "/t" + Y); 

     System.out.println("SCaled_Bitmap :" + Scaled_X + "\t" + scaled_Y); 

     overlaybitmap = Bitmap.createBitmap(ScaledBitmap.getWidth(), 
       ScaledBitmap.getHeight(), ScaledBitmap.getConfig()); 
     Canvas canvas = new Canvas(overlaybitmap); 
     canvas.drawBitmap(ScaledBitmap, new Matrix(), null); 
     canvas.drawBitmap(bit, new Matrix(), null); 

     return overlaybitmap; 
    } 

Każda pomoc zostanie bardzo doceniona.

+0

spojrzeć na mojego postu http://stackoverflow.com/questions/6925756/how-to-draw-image-frame-for-camera -view-and-overlapping-the-image-frame-on-captu –

+0

Tak, widzę, że moja bitmapa bmp2 łączy się z bmp1, ale moim problemem jest to, że chcę zapisać dokładnie tam, gdzie dwukrotnie uderzyłem bmp2 po zaciśnięciu bmp2 ..... za pomocą gestu i wystąpienia problemu jest to, że bmp2 zapisz według rozmiaru bmp1 ....... – rajeev

+0

@IntelliJAmiya proszę przerwij edycję słowami "Każda pomoc byłaby bardzo doceniana.". Proszę przeczytaj http://stackoverflow.com/help/editing –

Odpowiedz

39

można połączyć dwie bitmapy jak ten

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

jeśli chcę trochę padding tak, aby zarówno obraz jest wtedy widoczny? – Akram

+1

bmp1 (500, 500) i bmp2 (400,400) tak próbuję tego, ale bmp1 pokazuję ich rzeczywisty rozmiar, ale kiedy ustawię szczyptę bmp2 na (40, 50), zapiszę zgodnie z ustawieniem bmp1 i chcę zapisać miejsce, w którym umieściłem zdjęcie za pomocą gestu ..... – rajeev

+0

ok finalnie rozwiązuję mój problm canvas.drawBitmap (bit, parametr kanwy, parametr kanwy, null); – rajeev

Powiązane problemy