大佬教程收集整理的这篇文章主要介绍了ios – 在核心图形中绘制圆角矩形,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用COregraphics,绘制圆形rect的路径.这是我能想到的结果:
正如您所看到的,iPad的版本在圆角处看起来更平滑.我试图使用更大的线宽,看起来像这样:
UIColor* fillColor= [self.color colorBymultiplyingByRed:1 green:1 blue:1 alpha:0.2]; CGContextSetLineWidth(ctx,1.0); CGContextSetstrokeColorWithColor(ctx,self.color.CGColor); CGContextSetFillColorWithColor(ctx,fillColor.CGColor); CGRect rrect = self.bounds; CGFloat radius = 30.0; CGFloat width = CGRectGetWidth(rrect); CGFloat height = CGRectGetHeight(rrect); if (radius > width/2.0) radius = width/2.0; if (radius > height/2.0) radius = height/2.0; CGFloat minx = CGRectGetMinX(rrect); CGFloat midx = CGRectGetMidX(rrect); CGFloat maxx = CGRectGetMaxX(rrect); CGFloat miny = CGRectGetMinY(rrect); CGFloat midy = CGRectGetMidY(rrect); CGFloat maxy = CGRectGetMaxY(rrect); CGContextMoveToPoint(ctx,minx,midy); CGContextAddArcToPoint(ctx,miny,midx,radius); CGContextAddArcToPoint(ctx,maxx,midy,radius); CGContextAddArcToPoint(ctx,maxy,radius); CGContextClosePath(ctX); CGContextDrawPath(ctx,kCGPathFillstroke); // draw circle on left side CGRect target= CGRectMake(rect.origin.x + 4.0,rect.origin.y + 3.0,7.0,7.0); CGContextSetFillColorWithColor(ctx,self.color.CGColor); CGContextSetAlpha(ctx,0.4); CGContextFillEllipseInRect(ctx,target); CGContextSetAlpha(ctx,0.9); CGContextSetstrokeColorWithColor(ctx,self.color.CGColor); CGContextstrokeEllipseInRect(ctx,target);
任何人都可以帮我把结果更接近原作吗?@R_808_10675@用不同的技术来绘制圆角矩形,还是有任何参数我可以更改以使其看起来更平滑?
我已经尝试过使用UIBezierPath,但它看起来基本相同.有小费吗?
以上是大佬教程为你收集整理的ios – 在核心图形中绘制圆角矩形全部内容,希望文章能够帮你解决ios – 在核心图形中绘制圆角矩形所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。