在抖动中将图像从黑色反转为白色

invert image black to white in flutter

我有一张黑白位图图像,我只需要反转图像并显示如何转换和显示图像。我使用此代码在 java 中反转了位图图像,任何人都可以建议我如何在 flutter 中执行此操作。

    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;
    }

现在可以通过 ColorFiltered class

change/invert 颜色

详情可以参考这篇博客:https://www.burkharts.net/apps/blog/over-the-rainbow-colour-filters/

另一个解决方案

你可以尝试使用ShaderMask class,并尝试将其传递给相应的Shader,例如InvertColorShader。目前,没有着色器可以做到这一点。

另请查看 BlendMode class 以获得您想要的结果。