2012-07-04 15 views
8

Jak scalić dwa różne obrazy jako jeden. Muszę też scalić drugi obraz w określonym punkcie na pierwszym obrazie. Czy jest to możliwe w Androidzie?Jak scalić dwie bitmapy jedna na drugą w wybranym punkcie na pierwszym obrazie w systemie Android?

+0

wysłać wymagany zrzut ekranu, aby uzyskać pomoc ... –

+1

cześć Md Abdul Gafur, potrzebuję scalić jeden obraz na drugim. Zrobiłem to ... ale teraz muszę zrobić scalenie w taki sposób, że mogę dodać drugi obraz w miejscu, gdzie muszę go umieścić ... (np .: Przypuśćmy, że zdjęcie osoby jest pierwszym obrazem i bańka jako drugi obraz .. muszę umieścić bańkę na jego głowie). –

Odpowiedz

1

To powinno działać:

  • Tworzenie obiektu canvas oparciu z bitmapy.
  • Narysuj inną bitmapę do tego obiektu canvas (metody umożliwiają użytkownikowi specyficzne ustawienie współrzędnych).
  • Oryginalny obiekt bitmapowy będzie miał zapisane nowe dane, ponieważ do niego będzie zapisywane płótno .
1

Chyba ta funkcja może pomóc:

private Bitmap mergeBitmap(Bitmap src, Bitmap watermark) { 
     if (src == null) { 
     return null; 
     } 
     int w = src.getWidth(); 
     int h = src.getHeight(); 

     Bitmap newb = Bitmap.createBitmap(w, h, Config.ARGB_8888); 
     Canvas cv = new Canvas(newb); 

     // draw src into canvas 
     cv.drawBitmap(src, 0, 0, null); 

     // draw watermark into   
     cv.drawBitmap(watermark, null, new Rect(9, 25, 154, 245), null); 

     // save all clip 
     cv.save(Canvas.ALL_SAVE_FLAG); 

     // store 
     cv.restore(); 

     return newb; 
    } 

Zwraca znak wodny na „src” w konkretnym Rect.

Powiązane problemy