前言
继续我们 Flutter 绘图相关的介绍,本篇我们引入一位重量级主角 —— 灭霸。通过绘图的颜色过滤器,我们要给灭霸点颜色看看。通过本篇,你会了解到如下内容:
- ColorFilter 颜色过滤器的介绍;
- 彩色图片转换为灰度图;
- 通过矩阵运算构建自定义的颜色过滤器。
ColorFilter 颜色过滤器
其实我们之前在使用Flutter给照片调个颜色滤镜动画
有介绍过颜色滤镜,在 Flutter 中提供了一个 ColorFiltered
的组件,可以将颜色过滤器应用到其子组件上。实际上,颜色过滤器就是对一个图层的每个像素的颜色(包括透明度)进行数学运算,改变像素的颜色来实现特定的效果。数学公式如下:
在 Flutter 中,ColorFilter
类的继承自 ImageFilter
,像 ImageFilter
一样,也只提供了命名构造函数,一共有四个命名构造函数,分别如下:
ColorFilter.mode(Color color, BlendMode mode)
:按制定的混合模式(blend mode),将颜色混入到绘