用几种渐变颜色在 canvas 中画一个圆
Draw a circle in a canvas with several gradient colors
我需要根据颜色渐变列表在 Android canvas 中画一个圆。我设法在没有渐变的情况下将其绘制为一组弧线,每个弧线都具有列表中的一种颜色,如下图所示。
如何使用实际渐变绘制它?我尝试使用以下代码将着色器应用于绘画:
Shader shader = new LinearGradient(0, 0, circleWidth, circleHeight, colorList, null, Shader.TileMode.MIRROR);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);
但是结果如下
我设法使用 SweepGradient 做到了。
Shader shader = new SweepGradient(circleWidth / 2, circleHeight / 2, colorList, null);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);
我需要根据颜色渐变列表在 Android canvas 中画一个圆。我设法在没有渐变的情况下将其绘制为一组弧线,每个弧线都具有列表中的一种颜色,如下图所示。
如何使用实际渐变绘制它?我尝试使用以下代码将着色器应用于绘画:
Shader shader = new LinearGradient(0, 0, circleWidth, circleHeight, colorList, null, Shader.TileMode.MIRROR);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);
但是结果如下
我设法使用 SweepGradient 做到了。
Shader shader = new SweepGradient(circleWidth / 2, circleHeight / 2, colorList, null);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);