在部分图像上覆盖渐变着色器蒙版

问题描述 投票:0回答:1

我正在使用以下代码创建着色器蒙版,

  ShaderMask _gradientPng() {
    return ShaderMask(
      child: Image(
        image: AssetImage('images/profile2.jpg'),
        height: 150,
        width: 100,
        fit: BoxFit.fill,
      ),
      shaderCallback: (Rect bounds) {
        return LinearGradient(
          colors: [Color(0xFF396AEA), Color(0xFF3B6EEC)],
          stops: [
            0.0,
            0.5,
          ],
        ).createShader(bounds);
      },
      blendMode: BlendMode.overlay,
    );
  }

我试图达到的效果如下,

enter image description here

不幸的是,以上代码将渐变覆盖了整个图像。如何使用着色器蒙版获得所需的效果?我该如何解决呢?

flutter dart shader
1个回答
1
投票

您需要更好地调整LinearGradient

© www.soinside.com 2019 - 2024. All rights reserved.