大佬教程收集整理的这篇文章主要介绍了在Objective-C中绘制具有起始和结束角度的椭圆,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
给定属性:
> x
> y
>宽度
>身高
> startAngle
> endAngle
使用这些值,我需要绘制弧(基本上是椭圆的一部分).我不能使用以下内容:
UIBezierPath *arc = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(x,y,width,height)]; [UIColor blackColor] setstroke]; [arc stroke];
因为它绘制了一个完整的椭圆.基本上我需要上面但是它需要考虑开始和结束角度,因此只显示椭圆的一部分.我认为这将涉及绘制三次贝塞尔曲线或二次贝塞尔曲线.问题是我不知道如何用我给出的信息计算起点,终点或控制点.
CGContextSaveGState(theCGContext); CGPoint center = CGPointMake(x + width / 2.0,y + height / 2.0); UIBezierPath* clip = [UIBezierPath bezierPathWithArcCenter:center radius:max(width,height) startAngle:startAngle endAngle:endAngle clockwise:YES]; [clip addLineToPoint:center]; [clip closePath]; [clip addClip]; UIBezierPath *arc = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(x,height)]; [[UIColor blackColor] setstroke]; [arc stroke]; CGContextRestoreGState(theCGContext);
裁剪的确切半径并不重要.它需要足够大,以便它只在末端夹住椭圆,而不是通过所需的弧.
以上是大佬教程为你收集整理的在Objective-C中绘制具有起始和结束角度的椭圆全部内容,希望文章能够帮你解决在Objective-C中绘制具有起始和结束角度的椭圆所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。