Изображение на холсте Android - PullRequest
0 голосов
/ 06 января 2020

Я использую canvas, чтобы создать круг. Теперь я хочу экспортировать этот круг в файл png, удалив все, кроме круга, и взять то, что находится в круге. Обратите внимание, у меня есть 2 кадра друг на друга.

example

1 Ответ

0 голосов
/ 05 марта 2020

Вы можете сделать это, используя Android PorterDuffMode. Вот код

private fun crop(bitmapImage: Bitmap): Bitmap {
    val bitmap = Bitmap.createBitmap(
            bitmapImage.width,
            bitmapImage.height,
            Bitmap.Config.ARGB_8888
    )
    val canvas = Canvas(bitmap)
    val paint = Paint(Paint.ANTI_ALIAS_FLAG)
    canvas.drawCircle(100.0f, 100.0f, 50.0f, paint)
    paint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC_OUT)
    canvas.drawBitmap(bitmapImage, 0.0f, 0.0f, paint)
    return bitmap
}

. Вы можете изменить круговую окружность и радиус для достижения вашего результата. Если вы передадите растровое изображение, оно вернется растровое изображение и вы можете сохранить в файл

...