0

白黒のビットマップ画像があります。画像を反転して、画像を変換して表示する方法を表示するだけです。このコードを使用してJavaでビットマップイメージを反転しましたが、フラッターでこれを行う方法を誰でも提案できます。

    private Bitmap createInvertedBitmap(Bitmap src) {
        ColorMatrix colorMatrix_Inverted =
                new ColorMatrix(new float[] {
                        -1,  0,  0,  0, 255,
                        0, -1,  0,  0, 255,
                        0,  0, -1,  0, 255,
                        0,  0,  0,  1,   0});

        ColorFilter ColorFilter_Sepia = new ColorMatrixColorFilter(
                colorMatrix_Inverted);

        Bitmap bitmap = Bitmap.createBitmap(src.getWidth(), src.getHeight(),
                Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);

        Paint paint = new Paint();

        paint.setColorFilter(ColorFilter_Sepia);
        canvas.drawBitmap(src, 0, 0, paint);

        return bitmap;
    }
4

1 に答える 1

1

ColorFiltered クラスを介して色を変更/反転できるようになりました

詳細については、このブログを参照してください: https://www.burkharts.net/apps/blog/over-the-rainbow-colour-filters/

別の解決策

ShaderMask クラスを使用してみて、対応するShaderなどに渡してみてくださいInvertColorShader。現在のところ、これを実行できるシェーダーはありません。

BlendMode クラスもチェックして、目的の結果を達成してください。

于 2020-07-21T18:20:03.617 に答える