Flutter - 线性渐变中的硬色停止

Flutter - Hard color stop in linear gradient

我正在使用 CustomPaint 制作自定义形状,我想应用颜色渐变,但要使用硬色标。没有颜色过渡。
PS:由于自定义形状,我不能使用不同的 Paints 而不是渐变。

我检查了文档,但找不到任何内容。不可能吗?或者还有其他解决方法吗?谢谢!

您可以将自定义形状拆分为更小的形状,并为每个形状赋予正确的颜色。这将是一种方法。

我有另一个想法。您可以这样做:为您的整个 canvas 自定义绘制一种颜色,即应用程序背景的颜色。给你的自定义形状 Colors.transparent 作为它的颜色。然后你用你想要的颜色制作尽可能多的容器并将它们放在彼此下面,以便整体尺寸与你定制油漆的尺寸相匹配。您使用 Stack Widget 将自定义油漆堆叠到这些容器上,您的自定义形状将采用这些容器的颜色,因为它的颜色是透明的。虽然自定义形状的周围将具有应用程序背景的颜色,因为整个自定义绘画都是这样着色的。

好吧,我自己想出来了,我使用 Gradient.linear 作为自定义绘画的着色器。我注意到它只会在停止有很大差距时混合颜色。所以我把我的颜色和停止像这样。

颜色 |停止

绿色 0.2
绿色 0.201
蓝色 0.5
蓝色 0.501
黄色 1

现在色标很难了。

这是前后的预览 |