繁体   English   中英

调整相机预览和图像小部件的对比度 flutter

[英]Adjusting contrast on camera preview and image widgets flutter

我需要显示一个 CameraPreview 小部件和一个图像(单独),并在两者上调整对比度。 我一直在研究 ColorFiltered 和 ShaderMask 小部件,但我不确定要使用哪种混合模式,或者它是否有助于更改混合模式。 有没有人有任何改变对比度的例子?

嘿,我建议您使用颜色矩阵来实现所需的对比度。 您可以在 ColoFiltered 小部件中使用以下颜色矩阵:

class CustomSubFilters extends ColorFilter {
  CustomSubFilters.matrix(List<double> matrix) : super.matrix(matrix);

  factory CustomSubFilters.contrast(double c) {
    num t = (1.0 - (1 + c)) / 2.0 * 255;
    return CustomSubFilters.matrix(<double>[
      1 + c,
      0,
      0,
      0,
      t,
      0,
      1 + c,
      0,
      0,
      t,
      0,
      0,
      1 + c,
      0,
      t,
      0,
      0,
      0,
      1,
      0,
    ]);
  }
}

只需将您的小部件包装在 ColorFiltered 小部件中并使用此颜色矩阵。

我使用了相机插件,package 中没有内置功能来设置对比度/亮度,所以我通过 ColorFiltered 小部件将其设置为:

ColorFiltered(
            colorFilter: const ColorFilter.mode(
              Colors.white,
              BlendMode.softLight,
              // BlendMode.overlay,
            ),
            child: CameraPreview(camController),
          )

它对我有用。 我希望,这个解决方案也能帮助你。 非常感谢您提出这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM