希望这应该是一个简单的问题。我正在尝试将一系列小位图复制到一个较大的位图中,将它们并排排列,没有任何间隙或像素重叠。例如,如果我有3个方形位图,我想将它们复制到一个长而细的矩形中。我知道如何做相反的事情,即从较大的位图创建一个小位图,但不是这样。什么是正确的命令?
(如果有人好奇的话,我想这样做是为了能够重用我用一个位图来处理动画的一些代码。)
谢谢!
答案 0 :(得分:14)
为大位图创建一个画布,然后使用它绘制小位图。我对android很新,但我猜它是这样的:
Bitmap makeBigBitmap(Bitmap srcBmps[]) {
Bitmap wideBmp;
Canvas wideBmpCanvas;
Rect src, dest;
// assume all of the src bitmaps are the same height & width
wideBmp = Bitmap.createBitmap(srcBmps[0].getWidth() * srcBmps.length,
srcBmps[0].getHeight(), srcBitmaps[0].getConfig());
wideBmpCanvas = new Canvas(wideBmp);
for (int i = 0; i < srcBmps.length; i++) {
src = new Rect(0, 0, srcBmps[i].getWidth(), srcBmps[i].getHeight());
dest = new Rect(src);
dest.offset(i * srcBmps[i].getWidth(), 0);
wideBmpCanvas.drawBitmap(srcBmps[i], src, dest, null);
}
return wideBmp;
}