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 回答