Flutter 使用canvas.drawVertices更改顶点和线的颜色

Flutter 使用canvas.drawVertices更改顶点和线的颜色,flutter,canvas,Flutter,Canvas,常规的Paint对象似乎不会改变使用drawVertices绘制的任何线条的外观。这是我试过的 //什么都不做 var brush=Paint()…color=Colors.blue..strokeWidth=4..style=PaintingStyle.stroke; //我找到的唯一着色器是UI.Gradient和UI.ImageShader 笔刷=笔刷..着色器=UI.Gradient.linear( 偏移量(0,0), //荒谬的数字 偏移量(10000,10000), [Colors.

常规的
Paint
对象似乎不会改变使用
drawVertices
绘制的任何线条的外观。这是我试过的

//什么都不做
var brush=Paint()…color=Colors.blue..strokeWidth=4..style=PaintingStyle.stroke;
//我找到的唯一着色器是UI.Gradient和UI.ImageShader
笔刷=笔刷..着色器=UI.Gradient.linear(
偏移量(0,0),
//荒谬的数字
偏移量(10000,10000),
[Colors.blue,Colors.blue],
);
画布。绘制顶点(
UI.Vertices.raw(
VertexMode.triangleStrip,
存储
//这将更改面而不是线的颜色
//颜色:encodeColorList(storageCount.map(()=>colors.white.toList())
),
BlendMode.dstIn,
刷子,
);
//从dart:ui复制
Int32List\U编码颜色列表(列表颜色){
最终int colorCount=colors.length;
最终Int32List结果=Int32List(颜色计数);
对于(int i=0;i
线条颜色始终为黑色:

编辑:


这可能是一个框架错误。以下是。

其原因是
colors
参数用于面而不是线,因此您不能使用它来更改特定的线颜色,但绘制对象也不会更改线颜色(请参见
画笔
我进入
绘制顶点
)。我尝试过使用和不使用着色器,并将
PaintingStyle
设置为
fill
stroke
。这些线条只是不想更改:\i设置了
color
,但
strokeWidth
不起作用-线条始终是“头发”样式我无法像您那样复制使用
drawVertices
的颜色。这是一个例子。然而,通过查看一些旧的颤振问题,我发现它正在用颜色绘制边缘。快速浏览一下代码,我觉得他在用
drawpath
绘制3d对象的线条,用
drawVertices
绘制人脸,我想可能
drawVertices
不支持着色或线条粗细。
var vertices=ui.VertexMode.triangles[Offset.zero,Offset(100,0),Offset(100,100)]); 画布。翻译(20,50);canvas.drawVertices(顶点,BlendMode.srcOver,Paint()…color=Colors.red);画布。翻译(20,50);canvas.drawVertices(顶点,BlendMode.srcOver,Paint()…color=Colors.green);画布。翻译(20,50);canvas.drawVertices(顶点,BlendMode.srcOver,Paint()…color=Colors.blue)-颤振1.14.7-pre.83•主通道