Аналогично ответу Хитеша , но с параметрами для указания положения изображения на переднем плане:
public static Bitmap mergeBitmaps(Bitmap bitmapBg, Bitmap bitmapFg, float fgLeftPos, float fgTopPos) {
// Calculate the size of the merged Bitmap
int mergedImageWidth = Math.max(bitmapBg.getWidth(), bitmapFg.getWidth());
int mergedImageHeight = Math.max(bitmapBg.getHeight(), bitmapFg.getHeight());
// Create the return Bitmap (and Canvas to draw on)
Bitmap mergedBitmap = Bitmap.createBitmap(mergedImageWidth, mergedImageHeight, bitmapBg.getConfig());
Canvas mergedBitmapCanvas = new Canvas(mergedBitmap);
// Draw the background image
mergedBitmapCanvas.drawBitmap(bitmapBg, 0f, 0f, null);
//Draw the foreground image
mergedBitmapCanvas.drawBitmap(bitmapFg, fgLeftPos, fgTopPos, null);
return mergedBitmap;
}