java graphics 粗细_java 绘图中如何实现 带有宽度可截断的圆环

在Java中使用Graphics绘制带有宽度的圆环遇到问题,需要一段不通过描边实现的圆弧。尝试使用GeneralPath类,但发现其功能有限,无法直接画圆弧。当前代码中,描边导致圆弧两端偏离,解决方案是调整线条结束帽类型。代码示例展示了如何修正这个问题。
摘要由CSDN通过智能技术生成

我需要制作一个圆环如:

04cd878421335faf117973ab85993191.png

简单来说就是一段圆弧,但是这个圆弧有一定的宽度,不能用描边来做

我使用的是java的Graphics,但是遍寻API也没有找到合适的方式实现,最理想的结果是可以通过path来绘制之后填充,java中找到了这个类似于svg的path的类GeneralPath,但是这个类的功能有限,只有二次、三次贝赛尔曲线,竟然没有画圆弧的,不知道大家都用什么方式做这种图呢

ps:

1、只能用java原生的

2、这种需要在项目的绘图中广泛需要,最理想的情况是使用path

求指导

根据二楼的代码实践后效果:

085b1c909d65753aa3b6737029c43a0f.png

描边之后多段圆弧接口对不上,究其原因是由于描边把两头也加了100像素进行绘制了,所以圆弧两头才出现偏离轨道

private void plotCircleSpan(Graphics g,Point point,float r1,float r2,float start,float end,Color color){

Graphics2D g2d = (Graphics2D) g;</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值