2015-08-21 65 views
0

我用下面的代碼,以覆蓋2位圖:堆焊位圖和定位

private 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, new Matrix(), null); 
     return bmOverlay; 
    } 

它的作用是:把第二位圖上的第一個頂部,在左上角。

我的問題是我怎麼能把第二個位圖放在中心底部?謝謝:)

+0

簡單的改變'Matrix',你可以調用'的postTranslate()'或'setRectToRect()' – pskink

+0

@pskink - 感謝簡短的迴應。到目前爲止還沒有與矩陣和帆布一起工作,所以我絕對不知道如何做到這一點。 現在我正在嘗試爲第二個位圖添加一些浮點值。我看到drawBitmap也可以採用2個浮點值,它們表示浮點左和頂點。我想這也可能是一個解決方案,對吧?浮點左邊是bmp1.getWidth/2和浮動頂部bmp1.getHeight – Alex

+0

好吧,試試吧,學習,實驗 – pskink

回答

0

試試這個:

private 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); 
     int centerX = (int) bmp1.getWidth()/2; 
     int centerY = (int) bmp1.getHeight()/2; 
     canvas.drawBitmap(bmp2, centerX, centerY, null); 
     return bmOverlay; 
    } 
+0

這是在第一個中心添加第二個位圖。我想要它中心底部。 – Alex

+0

將centerY改爲bottomY =(int)bmp1.getHeight(); – mlevytskiy