您可以使用Canvas和Bitmap类来实现这个功能。下面是一个示例代码,演示如何从两个位图创建一个位图,并将其放置在另一个位图的下方:
// 创建两个位图
Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap1);
Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap2);
// 创建一个新的位图,宽度为两个位图中宽度较大的那个,高度为两个位图的高度之和
int width = Math.max(bitmap1.getWidth(), bitmap2.getWidth());
int height = bitmap1.getHeight() + bitmap2.getHeight();
Bitmap resultBitmap = Bitmap.createBitmap(width, height, bitmap1.getConfig());
// 创建一个画布,并将结果位图绘制到画布上
Canvas canvas = new Canvas(resultBitmap);
canvas.drawBitmap(bitmap1, 0, 0, null);
canvas.drawBitmap(bitmap2, 0, bitmap1.getHeight(), null);
// 使用resultBitmap进行后续操作,比如显示在ImageView中
imageView.setImageBitmap(resultBitmap);
在这个示例中,我们首先使用BitmapFactory类从资源中加载两个位图。然后,我们计算出结果位图的宽度和高度,并使用Bitmap.createBitmap方法创建一个空的结果位图。接下来,我们使用Canvas类创建一个画布,并使用drawBitmap方法将两个位图绘制到画布上,其中第一个位图的位置是(0, 0),第二个位图的位置是(0, bitmap1.getHeight()),这样第二个位图就会在第一个位图的下方。最后,我们可以将结果位图设置到一个ImageView中进行显示。
请注意,这个示例假设两个位图具有相同的颜色格式。如果两个位图的颜色格式不同,您可能需要在创建结果位图之前进行格式转换。