2013-03-01 64 views
7

我正在android.de的分佈式應用程序工作,我已經分割成一個單一的圖像,讓說4部分,然後處理它。現在我想將4個位圖圖像組合成一個圖像。我怎樣才能做到這一點?如何在Android中將多個圖像組合成單個圖像?

+0

http://stackoverflow.com/questions/6944061/android-merge-two-images希望這將有助於你[疊加兩個圖像 – RAAAAM 2013-03-01 06:52:08

+0

可能的複製[android]設置一個imageview](http://stackoverflow.com/questions/2739971/overlay-two-images-in-android-to-set-an-imageview) – GSerg 2016-04-09 16:47:42

回答

17
Bitmap[] parts = new Bitmap[4]; 
    Bitmap result = Bitmap.createBitmap(parts[0].getWidth() * 2, parts[0].getHeight() * 2, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(result); 
    Paint paint = new Paint(); 
    for (int i = 0; i < parts.length; i++) { 
     canvas.drawBitmap(parts[i], parts[i].getWidth() * (i % 2), parts[i].getHeight() * (i/2), paint); 
    } 

像這樣的事情=)

+1

檢查此演示可能會幫助您實現合併幾個問題圖像形成一個單一的圖像http://whats-online.info/science-and-tutorials/92/how-to-combine-multiple-images-into-a-single-image-in-android/ – 2016-12-19 12:43:15

6

下面的代碼段會做的伎倆,爲您四位一體的位圖結合起來。 調用此方法3次以合併四個圖像。

第1步:結合前兩個圖像

第2步:合併更名兩個圖像

第3步:將兩個新創建位圖

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

你需要創建一個功能位圖類型。也就是說,它返回一個位圖數據類型。該函數應該有一個數組類型Bitmap的參數,它是一個數組。

Download demo here

你會把你的圖像到功能位的陣列。這是我們的功能,不僅合併四個圖像,而且還合併任意大小的圖像。

private Bitmap mergeMultiple(Bitmap[] parts){ 

    Bitmap result = Bitmap.createBitmap(parts[0].getWidth() * 2, parts[0].getHeight() * 2, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(result); 
    Paint paint = new Paint(); 
    for (int i = 0; i < parts.length; i++) { 
     canvas.drawBitmap(parts[i], parts[i].getWidth() * (i % 2), parts[i].getHeight() * (i/2), paint); 
    } 
     return result; 
    } 

最後你做.. Read more here

相關問題