使用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);

}

错误的图像。左侧中的白线

任何愿意帮忙的人。谢谢!

所以我想公布我的问题的答案。我太笨了x和y必须是0 0,而不是写入对比度和亮度。

已解决线路:

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

相关内容

  • 没有找到相关文章

最新更新