我有一个Paint对象,并且尝试使用绘制一个Arc Gradient canvas.drawArc,但唯一的方法(至少根据我的研究)是使用a Shader,但是Shader要从一个Gradient对象获取a ,则必须use Gradient.createShader(Rect rect),它采用一个矩形。我的问题是,有没有办法为弧形而不是矩形创建着色器?到目前为止,这里可供我参考:
Paint paint = new Paint()
..color = bgColor
..strokeCap = StrokeCap.round
..strokeWidth = 3.0
..style = PaintingStyle.stroke
..shader = new Gradient.radial(size.width / 2.0, size.height / 2.0, size.height / 3.0, Colors.transparent, timerColor, TileMode.mirror).createShader(/* I don't have a rect object */);
canvas.drawArc(..., paint);
Run Code Online (Sandbox Code Playgroud)