使用Colormatrix的白线虫

时间:2016-05-17 18:47:48

标签: android bitmap colormatrix

所以我有一个巨大的问题。我无法解决它多年,所以请任何可以帮助的人 - 这将是惊人的。 所以问题在于ColorMatrix。正如你在照片中看到的那样,当我在照片上添加效果并将其保存到我的记忆中时,我会得到左边有一条白线的那种照片。有趣的事实是,当我增加对比度例如7时,这条线变得越来越大。所以我猜的问题是对比度和亮度。无论如何它的效果很好,而且还有其他任何我满意的......只有这一个虫子有一天会让我失望。有帮助吗? 我的代码:

public void effect(View view) {
    float contrast = 1;
    float brightness = 0;


    Bitmap.Config config = bmp.getConfig();
    if (config == null) {
        config = Bitmap.Config.ARGB_8888;
    }

    operation = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), config);


    ColorMatrix cm = new ColorMatrix(new float[]
            {
                    contrast, 0, 0, 0, brightness,
                    0, contrast, 0, 0, brightness,
                    0, 0, contrast, 0, brightness,
                    0, 0, 0, 1, 0,
                    0, 0, 0, 0, 1
            });
    Canvas canvas = new Canvas(operation);

    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(cm));
    canvas.drawBitmap(bmp, contrast, brightness, paint);

    imageview.setImageBitmap(operation);


}

IMAGE OF BUG. The white line in the left

任何有助于此的人。谢谢!

1 个答案:

答案 0 :(得分:0)

所以我想发布问题的答案。 我是如此愚蠢..- x和y必须是0 0而不是写对比度和亮度。

解决行:

canvas.drawBitmap(bmp, 0, 0, paint);