Android / Java / Kotlin: объединить 2 растровых изображения в один холст - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь создать функцию kotlin, отвечающую за получение 2 битовых карт и возвращение одного, соответствующего двум изображениям слияния.

Первым является маркер с закругленными углами по умолчанию (emptyMarkerBitmap) по умолчанию с исправлением ширина и высота. Второе - это случайное изображение, которое я хотел бы минимизировать, чтобы заполнить первое изображение наложением.

private fun createBitmapOverlay(emptyMarkerBitmap: Bitmap, categoryIconBitmap: Bitmap): Bitmap {

      val cs: Bitmap

      val width: Int = emptyMarkerBitmap.width
      val height: Int = emptyMarkerBitmap.height

      cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)

      val comboImage = Canvas(cs)

      comboImage.drawBitmap(emptyMarkerBitmap, 0f, 0f, null)
      comboImage.drawBitmap(categoryIconBitmap, emptyMarkerBitmap.width.toFloat(), 0f, null)

     return cs

}

На данный момент у меня всегда отображается первое изображение, представляющее собой белый маркер. Мое второе изображение никогда не отображается. Где проблема?

1 Ответ

0 голосов
/ 23 апреля 2020

Попробуйте это

 fun Bitmap.with(bmp: Bitmap): Bitmap {
        // Create new bitmap based on the size and config of the old
        val newBitmap: Bitmap = Bitmap.createBitmap(width, height, config)

        // Instantiate a canvas and prepare it to paint to the new bitmap
        val canvas = Canvas(newBitmap)

        // Draw the old bitmap onto of the new white one
        canvas.drawBitmap(bmp, 0f, 0f, null)

        return newBitmap
  }

emptyMarkerBitmap.with(categoryIconBitmap)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...