Изменить цвет bitmap изображения с помощью цветовой матрицы

Я прочитал статью об изменении цвета растрового изображения https://stackoverflow.com/questions/5699810/how-to-change-bitmap-image-color-in-android, но у меня это не работает. Может я что-то не так делаю.

public void changeColor(@NonNull Integer color){
        String[] tempMatrix = null;
        //Takes a color matrix from resources
        String[] getColorMatrix = resources.getStringArray(resources.getIdentifier("c"+color, "array", context.getPackageName()));
        int getColorMatrixCols = getColorMatrix[1].split(",").length;

        //Transform string values to float
        int k = 0;
        for (String colorMatrix : getColorMatrix) {
            tempMatrix = colorMatrix.split(",");
            for (int j = 0; j < getColorMatrixCols; j++, k++) {
                this.colorTransform[k] = Float.parseFloat(tempMatrix[j]);
            }
        }

        ColorMatrix colorMatrix = new ColorMatrix();
        colorMatrix.setSaturation(0f); //Remove Colour
        colorMatrix.set(this.colorTransform);

        ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
        Paint paint = new Paint();
        paint.setColorFilter(colorFilter);

Я не знаю, нужно ли мне создавать новое растровое изображение, потому что я могу использовать исходное растровое изображение.

Bitmap resultBitmap = Bitmap.createBitmap(this.bitmap, 0, 0, this.bitmap.getWidth(), this.bitmap.getHeight());

        Canvas canvas = new Canvas(resultBitmap);
        canvas.drawBitmap(resultBitmap, 0, 0, paint);

        this.bitmap = resultBitmap;
    }

Код, как я получаю картинку. Может дело в этом?

 @SuppressLint("UseCompatLoadingForDrawables") BitmapDrawable bitmapdraw = (BitmapDrawable) getResources().getDrawable(R.mipmap.ic_school);

        ChangeBitmap changeBitmap = new ChangeBitmap(this, bitmapdraw.getBitmap());

Сама картинка скачана с fontawesome https://fontawesome.com/icons/school?style=solid и трансформирована в .bpm с помощью сервиса https://image.online-convert.com/ru/convert/svg-to-bmp.


Ответы (0 шт):