Android:在canvas api中使用渐变填充颜色绘制圆弧
我想使用渐变填充使用画布绘制圆弧。如何才能实现这一点呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想使用渐变填充使用画布绘制圆弧。如何才能实现这一点呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
嘿,我从这里偷了这个:在 Android 中用 SweepGradient 绘制弧线< /a>
但它工作正常,我使用了 LinearGradient 代替。
Hey I stole this from here: Draw an arc with a SweepGradient in Android
but it works fine, I used a LinearGradient instead.
在我的事业中,我必须画这样的人:
也许你也是。
那么,我们想一想!
扫描渐变如何工作?
如果您通过此绘制矩形:
将是:
所以我们的想法是旋转它!
< /a>
最后我们可以绘制弧线:
查看我的完整内容 自定义视图源代码 存储库。
In my cause i I had to draw someone like this:
Maybe you too.
So, let's think!
How does Sweep Gradient works?
If you draw rect via this:
will be:
So the idea is to rotate it!
Finally we can draw our arc:
See my full custom view source code on github repository.
您还可以使用颜色和可变位置的数组。
例如,定义 10 种颜色,每种颜色 10% 进度:
将所有这些颜色放入颜色 intArray 中,如下所示:
然后,定义位置。位置从 0.0 扫描到 1.0(位置 0.1 对应于 color_10,位置 0.2 对应于 color_20 等)
我们定义了位置,我们就可以将 SweepGradient 设置为我们的绘画
最后,我们可以使用着色器绘画绘制弧线:
一旦 自定义视图:
You can also use an array of colors and variable positions.
For example, define 10 colors, one each 10% progress:
Put all of these colors inside a colors intArray like this:
Then, define positions. Positions sweep from 0.0 to 1.0 (positions 0.1 corresponds to color_10, position 0.2 to color_20 etc.)
Once we've defined positions, we can set the SweepGradient to our paint
Finally we can draw our arc with our shader paint:
Final effect in my custom view: