我正在寻找使用ColorFiltered小部件来应用颜色饱和度矩阵,但不知道如何制作矩阵的方法。
答案 0 :(得分:0)
就我而言,我通过以下方式解决了该问题:
class CustomSubFilters extends ColorFilter {
CustomSubFilters.matrix(List<double> matrix) : super.matrix(matrix);
///defaults to unity matrix when s = 0;
factory CustomSubFilters.saturate(double sat) {
num x = 1 + sat;
num lumR = 0.3086;
num lumG = 0.6094;
num lumB = 0.0820;
return CustomSubFilters.matrix(<double>[
lumR * (1 - x) + x,
lumG * (1 - x),
lumB * (1 - x),
0,
0,
lumR * (1 - x),
lumG * (1 - x) + x,
lumB * (1 - x),
0,
0,
lumR * (1 - x),
lumG * (1 - x),
lumB * (1 - x) + x,
0,
0,
0,
0,
0,
1,
0,
]);
}
当然,您可以灵活地实现该实现,只是不要忘记扩展ColorFilter类。