Ошибка белой линии с использованием 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);


}

ИЗОБРАЖЕНИЕ ОШИБКИ. Белая линия слева

Кто поможет в этом. СПАСИБО!


person BENZG55    schedule 17.05.2016    source источник
comment
в чем скрытая идея передачи contrast и brightness как x и y в canvas.drawBitmap(bmp, contrast, brightness, paint)?   -  person pskink    schedule 17.05.2016
comment
@pskink В школе я узнал, что в конце мне нужно писать вот так. Что вы предлагаете? Я был бы очень благодарен, если бы вы поделились своими мыслями, как решить эту проблему.   -  person BENZG55    schedule 17.05.2016


Ответы (1)


Итак, я хочу опубликовать ответ на мою проблему. Я был таким тупым..- x и y должны быть 0 0 вместо того, чтобы писать контраст и яркость.

Решенная строка:

canvas.drawBitmap(bmp, 0, 0, paint);
person BENZG55    schedule 22.05.2016