为什么 Shader Mask 在 flutter web 上不起作用?
Why is Shader Mask not working on flutter web?
下面是我正在尝试的代码:
ShaderMask(
shaderCallback: (rect) {
return LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Colors.black, Colors.transparent],
).createShader(Rect.fromLTRB(0, 0, rect.width, rect.height));
},
blendMode: BlendMode.dstIn,
child: Image.asset('assets/image.jpg'),
),
我之前已经使用过着色器遮罩,所以我知道它适用于 android IOS。下面是结果(正确的):
但这是我在 flutter web 上尝试相同代码时得到的结果:
我是不是做错了什么,或者这是 Flutter 方面的问题?这是一个 Flutter 网络端问题,有解决方法吗?我想达到上面的 android 结果。 (图像从下面褪色)。
Medium article shader mask update in flutter web
它适用于 flutter 2.2 beta 频道。
检查您是否使用最新版本的 Flutter,即 2.21。
如果不是那么使用下面的命令
flutter upgrade
在Flutter web更新中,他们对web进行了改进。他们增加了对着色器遮罩和 computeLineMetrics 的支持,解决了 Flutter 网络和移动应用程序之间的奇偶校验差距。例如,您现在可以使用不透明蒙版通过着色器蒙版执行淡出过渡,并像在移动应用程序中一样使用 computeLineMetrics
下面是我正在尝试的代码:
ShaderMask(
shaderCallback: (rect) {
return LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Colors.black, Colors.transparent],
).createShader(Rect.fromLTRB(0, 0, rect.width, rect.height));
},
blendMode: BlendMode.dstIn,
child: Image.asset('assets/image.jpg'),
),
我之前已经使用过着色器遮罩,所以我知道它适用于 android IOS。下面是结果(正确的):
但这是我在 flutter web 上尝试相同代码时得到的结果:
我是不是做错了什么,或者这是 Flutter 方面的问题?这是一个 Flutter 网络端问题,有解决方法吗?我想达到上面的 android 结果。 (图像从下面褪色)。
Medium article shader mask update in flutter web 它适用于 flutter 2.2 beta 频道。
检查您是否使用最新版本的 Flutter,即 2.21。 如果不是那么使用下面的命令
flutter upgrade
在Flutter web更新中,他们对web进行了改进。他们增加了对着色器遮罩和 computeLineMetrics 的支持,解决了 Flutter 网络和移动应用程序之间的奇偶校验差距。例如,您现在可以使用不透明蒙版通过着色器蒙版执行淡出过渡,并像在移动应用程序中一样使用 computeLineMetrics