我正在寻找一种允许我从多边形创建圆角的算法.在Input中,我得到一个表示多边形(红线)和输出的点数组,一个点数组,表示带圆角的多边形(黑线).
我还想有办法控制每个角落的半径.我已经尝试过使用Bezier和Subdivision,但这不是我想要的.Bezier和Subdivision正在平滑所有多边形.我想要的是,它只是使角落圆润.
有人知道这样做有什么好的算法吗?我正在使用C#,但代码必须独立于任何.NET库.

我正在尝试为我成功的UIImage添加一个六边形面具.但是我无法绕六边形面具的两侧.我想加上cell.profilePic.layer.cornerRadius = 10; 会做的伎俩,但事实并非如此.
这是我的代码:
CGRect rect = cell.profilePic.frame;
CAShapeLayer *hexagonMask = [CAShapeLayer layer];
CAShapeLayer *hexagonBorder = [CAShapeLayer layer];
hexagonBorder.frame = cell.profilePic.layer.bounds;
UIBezierPath *hexagonPath = [UIBezierPath bezierPath];
CGFloat sideWidth = 2 * ( 0.5 * rect.size.width / 2 );
CGFloat lcolumn = ( rect.size.width - sideWidth ) / 2;
CGFloat rcolumn = rect.size.width - lcolumn;
CGFloat height = 0.866025 * rect.size.height;
CGFloat y = (rect.size.height - height) / 2;
CGFloat by = rect.size.height - y;
CGFloat midy = rect.size.height / …Run Code Online (Sandbox Code Playgroud) 我正在使用Core Graphics绘制自定义形状,我想为这个形状制作圆角,这是我绘制自定义形状的代码
CGPoint p1=[self getPointFromAngleQuarter:start_angle2 andRaduis:card.small_Raduis andCenter:center];
CGContextMoveToPoint(context, p1.x, p1.y);
CGPoint p2=[self getPointFromAngleQuarter:start_angle2 andCenter:center andRaduis:self.large_Raduis];
CGContextAddLineToPoint(context, p2.x, p2.y);
CGContextAddArc(context,center.x, center.y, selectedLargeRaduis, start, end,0);
CGPoint p5=[self getPointFromAngle:end_Angle andCenter:center andRaduis:self.small_Raduis];
CGContextAddLineToPoint(context, p5.x, p5.y);
CGContextAddArc(context,center.x, center.y,selectedSmallRaduis, end, start,1);
CGContextDrawPath(context, kCGPathFill);
Run Code Online (Sandbox Code Playgroud)
这是我自定义Shape的最终结果

是否可以创建具有六角形角的UIImage或UIImageView?因为我想要一个UIImage并在UIImageView中显示它,但在内部和六边形.谢谢