【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),融合方式介绍:

posted @ 2020-12-31 13:54  我爱我家喵喵  阅读(427)  评论(0编辑  收藏  举报