[英]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.