在画布上画圆android,Android画布(Canvas)之- 圆环,利用Path切除一个扇形,形成一段圆弧效果...

话不多说,情况是这样:ApiDemo大家都熟吧,其中Sweep这个demo大家一定也都看过,即利用SweepGradient这个Shader使圆随着弧度的变换有个渐进色的效果。

现在本人有个想法,即想实现相似于下图中的效果

描述一下本人的效果吧:

1. 缺口的圆环;

2. 圆环颜色渐进(颜色配比在下面代码中还未给出,不影响代码分析);

3. 圆环的刻度(即虚线)稳定;

首先需要强调的是,大家的答案里面千万别给canvas.drawArc()这个答案,这个答案不符合本人的需求,原因是不同的弧度画出的圆环,其刻度是会随意移动的;

再说说本人的思路:即在从圆环的圆心利用画布类的canvas方法ClipPath方法截取本人想要去掉的这段弧度所在的画布

然后再在剩余的画布上画圆形,那么自然截取的图为本人上图中想要达到的效果了。

值得大家注意的是:下面这段代码中,当不给画笔设置SweepGradient属性时,是能够达到圆弧效果,但是这样的话,颜色又不符合上述要求了。

public class MainActivity extends Activity {

private ImageView mScanImage;

private ImageView mSecondImage;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值