Android 下,使用 Path 画一个环状的扇形

今天需要在界面上画一个环状的扇形。研究一下,发现一个简单的办法就可以办到。记录一下。

直接上代码:

//设置一个目标正方形框。这个边长是内弧的直径。中心点即为圆心
RectF baseRectf = new RectF(600, 600, 800, 800);

Path path = new Path();

//画一个弧。注意,角度的设置。这样设置,正方型的边长就是直径。方便计算。
path.addArc(baseRectf, -30, 60);

//向外扩张这个正方形。此时正方形的边长是外弧的直径。
baseRectf.inset(-100, -100);
path.arcTo(baseRectf, 30, -60); //注意角度的设置要反转一下。
path.close();

这样就可以生成图形

然后,可以通过Matrix,围绕圆心旋转即可。省去了很多的计算工作量。(700, 700)即为圆心。

Matrix m = new Matrix();
m.postRotate(60, 700, 700);
Path path1 = new Path(path);
path1.transform(m);

m.reset();
m.postRotate(-60, 700, 700);
Path path2 = new Path(path);
path2.transform(m);

非常简单方便。不需要复杂的计算角度和画线。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值