【发布时间】:2012-11-15 18:15:46
【问题描述】:
我有一个 SweepGradient 定义为
circle_paint.setShader(new SweepGradient(getWidth()/2, getHeight()/2, new int[] { circle_start_color, circle_end_color}, new float[] { 0f, 1f}))
应用于定义为
的拱门canvas.drawArc(circle_bounds, circle_start_perc*360f, circle_end_perc*360f, true, circle_paint);
这很好用,但我需要拱门从屏幕顶部开始绘制,即
canvas.drawArc(circle_bounds, ((circle_start_perc*360f)-90f)%360, circle_end_perc*360f, true, circle_paint);
问题是 SweepGradient 似乎仍然从 0 度开始,而我需要它从 270 度开始(类似于弧线图上的平移)。换句话说,如果我有一个从白色到蓝色的渐变,我需要将弧的顶部涂成白色,然后将弧的最后部分涂成蓝色。我该怎么做?
【问题讨论】:
标签: android android-canvas ondraw gradient