Как я могу объединить два растровых изображения один над другим в выбранной точке на первом изображении в Android?
Как я могу объединить два разных изображения в одно. Также мне нужно объединить второе изображение в определенной точке на первом изображении. Это возможно в Android?
2 ответа
Решение
Это должно работать:
- Создайте объект холста на основе растрового изображения.
- Нарисуйте другое растровое изображение для этого объекта холста (методы позволят вам специально установить координаты).
- В исходном растровом объекте будут сохранены новые данные, поскольку холст записывает в него.
Я думаю, что эта функция может помочь вам:
private Bitmap mergeBitmap(Bitmap src, Bitmap watermark) {
if (src == null) {
return null;
}
int w = src.getWidth();
int h = src.getHeight();
Bitmap newb = Bitmap.createBitmap(w, h, Config.ARGB_8888);
Canvas cv = new Canvas(newb);
// draw src into canvas
cv.drawBitmap(src, 0, 0, null);
// draw watermark into
cv.drawBitmap(watermark, null, new Rect(9, 25, 154, 245), null);
// save all clip
cv.save(Canvas.ALL_SAVE_FLAG);
// store
cv.restore();
return newb;
}
Он рисует водяной знак на "SRC" на конкретном Rect.