【Flutter】ShaderMash 着色器实现渐变色文字

ShaderMask(
      child: Text("爱音乐的孩子是小白", style: TextStyle(color: Colors.blue)),
      shaderCallback: (bounds) => RadialGradient(
        center: Alignment.topLeft,
        radius: 1.0, 
        colors: [Colors.yellow, Colors.deepOrange],
        tileMode: TileMode.mirror
      ).createShader(bounds),
    )

shaderCallback 需要返回一个Shader对象,可以通过渐变相关类直接生成Shader:

RadialGradient(...).createShader(rect)

blendMode属性是融合方式,child是目标图像(dst),Shader是源图像(src),融合方式介绍:

原文地址:https://www.cnblogs.com/yangyxd/p/14216226.html