2011-03-31 51 views
8

因此,我有两个图像本地存储在SD卡上的android和我想结合成一个图像。它很难解释,所以我将链接到一张图片,以便更好地展示我想如何拍摄前两张图片并将它们合并到最后。在Android中结合两个图像java

http://img850.imageshack.us/i/combinedh.jpg/

+0

http://kyogs.blogspot.in/2012/08/mearge-images.html ..引用这一个 – kyogs 2012-10-23 13:52:06

回答

9

创建目标Bitmap,为它创建一个Canvas,使用Canvas.drawBitmap每个源位位块传输到你的目标位。

2

最简单的方法可能是在RelativeLayout中使用两个ImageView。您可以在布局中将ImageView放置在彼此的顶部。

9

一般我用下面的函数from Jon Simon组合两个位图作为参数传递和获取相结合的位图作为输出,

public Bitmap combineImages(Bitmap c, Bitmap s) 
{ 
    Bitmap cs = null; 

    int width, height = 0; 

    if(c.getWidth() > s.getWidth()) { 
     width = c.getWidth() + s.getWidth(); 
     height = c.getHeight(); 
    } else { 
     width = s.getWidth() + s.getWidth(); 
     height = c.getHeight(); 
    } 

    cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 

    Canvas comboImage = new Canvas(cs); 

    comboImage.drawBitmap(c, 0f, 0f, null); 
    comboImage.drawBitmap(s, c.getWidth(), 0f, null); 

    return cs; 
}