Как извлечь нарисованные области из растрового изображения в Android?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как извлечь нарисованные области из растрового изображения в Android?

Сообщение Anonymous »

Я работаю над приложением для Android, использующим Kotlin, где пользователь может рисовать пути (линии или кривые) поверх изображения с помощью Canvas. Цель состоит в том, чтобы извлечь из исходного изображения только закрашенные области, а неокрашенные области должны быть прозрачными. Однако результат, который я получаю, либо показывает неправильные цвета, либо неокрашенные области остаются видимыми, а не полностью прозрачными.
Вот мой текущий код для извлечения окрашенной области:

Код: Выделить всё

fun getMaskedBitmap(originalBitmap: Bitmap): Bitmap {
val width = originalBitmap.width
val height = originalBitmap.height

// Create a new bitmap with transparency support
val maskedBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(maskedBitmap)

// Fill the canvas with transparent color
canvas.drawColor(Color.TRANSPARENT)

// Draw the original image on the canvas
val imagePaint = Paint()
canvas.drawBitmap(originalBitmap, 0f, 0f, imagePaint)

// Create paint for the mask with DST_IN mode
val maskPaint = Paint().apply {
xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
isAntiAlias = true
}

// Draw the path on the canvas to mask the region
canvas.drawPath(path, maskPaint)

return maskedBitmap
}

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»