Программный рендеринг не поддерживает аппаратные растровые изображения canvas.drawBitmap - PullRequest
0 голосов
/ 19 марта 2020

Учитывая изображение, я хочу превратить его в GrayScale. Я нашел это решение, но теперь, когда мой телефон обновился в Android 10, я получаю исключение IllegalArgumentException: программный рендеринг не поддерживает исключение аппаратных растровых изображений.

fun getGrayScale(src: Bitmap): Bitmap {

        //Custom color matrix to convert to GrayScale
        val matrix = floatArrayOf(
            0.3f,
            0.59f,
            0.11f,
            0f,
            0f,
            0.3f,
            0.59f,
            0.11f,
            0f,
            0f,
            0.3f,
            0.59f,
            0.11f,
            0f,
            0f,
            0f,
            0f,
            0f,
            1f,
            0f
        )

        val dest = Bitmap.createBitmap(src.width, src.height, Bitmap.Config.RGB_565)

        val canvas = Canvas(dest)
        val paint = Paint()
        val filter = ColorMatrixColorFilter(matrix)
        paint.colorFilter = filter
        canvas.drawBitmap(src, 0.toFloat(), 0.toFloat(), paint)

        return dest
    }

Так что теперь у меня есть 2 вопроса. 1) Что я должен изменить, чтобы снова работать 2) Могу ли я сделать это с помощью Glide libray, поэтому мне не нужно писать какой-либо код?

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