2016-11-11 73 views
0

我试试这个如何以编程方式将两个位图合并为另一个位图?

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

它不工作

+0

参考HTTP ://stackoverflow.com/questions/4863518/combining-two-bitmap-image-side-by-side – sasikumar

+0

嘿感谢回复sasikumar让我试试这个代码 –

回答

2

试试这个代码sniplet和调整按您的要求

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

确保BMP1比BMP2更大

+0

谢谢答案:) –

相关问题