Как я могу объединить два растровых изображения один над другим в выбранной точке на первом изображении в 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.

Другие вопросы по тегам