【问题标题】:mupdf: android library: How to invert the colors or change to night modemupdf:android 库:如何反转颜色或更改为夜间模式
【发布时间】:2020-08-30 17:52:24
【问题描述】:

如果有人使用mupdf android 库知道如何反转背景。我想给ui添加一个按钮

【问题讨论】:

    标签: android mupdf


    【解决方案1】:

    这很简单。在 PageView 中渲染位图时只需反转位图。

    mEntire.setImageBitmap(invert(mEntireBm));
    mPatch.setImageBitmap(invert(mPatchBm));
    

    这是反转位图的方法。

        private Bitmap invert(Bitmap src) {
            int height = src.getHeight();
            int width = src.getWidth();
    
            Bitmap bitmap = Bitmap.createBitmap(width, height, src.getConfig());
            Canvas canvas = new Canvas(bitmap);
            Paint paint = new Paint();
    
            ColorMatrix matrixGrayscale = new ColorMatrix();
            matrixGrayscale.setSaturation(0);
    
            ColorMatrix matrixInvert = new ColorMatrix();
            matrixInvert.set(new float[]
                    {
                            -1.0f, 0.0f, 0.0f, 0.0f, 255.0f,
                            0.0f, -1.0f, 0.0f, 0.0f, 255.0f,
                            0.0f, 0.0f, -1.0f, 0.0f, 255.0f,
                            0.0f, 0.0f, 0.0f, 1.0f, 0.0f
                    });
            matrixInvert.preConcat(matrixGrayscale);
    
            ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrixInvert);
            paint.setColorFilter(filter);
    
            canvas.drawBitmap(src, 0, 0, paint);
            // src.recycle();
            return bitmap;
        }
    

    【讨论】:

    • 成功了。我有一些彩色文本,也将其转换为白色
    • 已移除 matrixGrayscale.setSaturation(0); 现在显示反转的颜色。
    猜你喜欢
    • 2020-06-23
    • 1970-01-01
    • 2023-03-08
    • 2021-07-09
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多