Hy,我试图搜索这个但不是很运气 最相似的就是这一个 http://ketankantilal.blogspot.com/2011/03/how-to-combine-images-and-store-to.html 无论如何,我正在为Android开发。 问题是我有png格式的图像(或jpg,因为我的应用程序的bmp非常大)。 如何从上到下组合三个图像。 我不需要将它们保存在SD上只是为了显示它们。 谢谢,如果存在类似的答案问题,我很抱歉。
答案 0 :(得分:2)
您可以使用Canvas,然后使用适当的顶部和左侧偏移绘制每个Bitmap(假设每个图像都加载到Bitmap对象中)。
您可以将下一个位图的顶部偏移量增加先前绘制的位图的总大小。
查看http://developer.android.com/reference/android/graphics/Canvas.html
示例:
public void stackImages(Context ctx)
{
// base image, if new images have transparency or don't fill all pixels
// whatever is drawn here will show.
Bitmap result = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888);
// b1 will be on top
Bitmap b1 = Bitmap.createBitmap(400, 200, Bitmap.Config.ARGB_8888);
// b2 will be below b1
Bitmap b2 = Bitmap.createBitmap(400, 200, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(result);
c.drawBitmap(b1, 0f, 0f, null);
// notice the top offset
c.drawBitmap(b2, 0f, 200f, null);
// result can now be used in any ImageView
ImageView iv = new ImageView(ctx);
iv.setImageBitmap(result);
// or save to file as png
// note: this may not be the best way to accomplish the save
try {
FileOutputStream out = new FileOutputStream(new File("some/file/name.png"));
result.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}