填充 UIBezierPath 但保持路径清晰
fill UIBezierPath but keep path clear
无法找到填充关闭的解决方案 UIBezierPath
具有一些颜色和一些宽度,但保持路径线透明。
[[UIColor clearColor] setStroke] does not work.
我有:
我想要的:
两个矩形的共享线具有相同的坐标,这就是为什么我在绘制它们时需要进行一些移动。
如果您要做的是擦除路径粗轮廓内的所有内容,请使用 CGContextReplacePathWithStrokedPath
将笔划转换为路径。然后用清晰的混合模式填充它,从而沿着粗路径擦除绘图。或者,再次使用透明混合模式对路径进行描边。
在这张图中,粗黄色椭圆没有描边或填充黄色;椭圆很清晰,黄色是后面的视图,透过红色矩形可以看到。换句话说,椭圆 通过红色矩形擦除 一个椭圆形状。
这是绘制椭圆的代码:
CGContextAddEllipseInRect(con, CGRectMake(100,100,200,50))
CGContextSetLineWidth(con, 10)
CGContextSetBlendMode(con, kCGBlendModeClear)
CGContextReplacePathWithStrokedPath(con)
CGContextFillPath(con)
或者你可以这样做:
CGContextAddEllipseInRect(con, CGRectMake(100,100,200,50))
CGContextSetLineWidth(con, 10)
CGContextSetBlendMode(con, kCGBlendModeClear)
CGContextStrokePath(con)
用 [UIColor clearColor] 抚摸和用橡皮擦去你已经完成的填充不是一回事,它只是用透明墨水笔在上面画画。
您可以使用 pathByStrokingPath 创建第二条路径,然后使用 EOClip 'mask' 从您的填充区域到此区域,或者您可以用后面的任何 backgroundColor 描边您的路径...
无法找到填充关闭的解决方案 UIBezierPath
具有一些颜色和一些宽度,但保持路径线透明。
[[UIColor clearColor] setStroke] does not work.
我有:
我想要的:
两个矩形的共享线具有相同的坐标,这就是为什么我在绘制它们时需要进行一些移动。
如果您要做的是擦除路径粗轮廓内的所有内容,请使用 CGContextReplacePathWithStrokedPath
将笔划转换为路径。然后用清晰的混合模式填充它,从而沿着粗路径擦除绘图。或者,再次使用透明混合模式对路径进行描边。
在这张图中,粗黄色椭圆没有描边或填充黄色;椭圆很清晰,黄色是后面的视图,透过红色矩形可以看到。换句话说,椭圆 通过红色矩形擦除 一个椭圆形状。
这是绘制椭圆的代码:
CGContextAddEllipseInRect(con, CGRectMake(100,100,200,50))
CGContextSetLineWidth(con, 10)
CGContextSetBlendMode(con, kCGBlendModeClear)
CGContextReplacePathWithStrokedPath(con)
CGContextFillPath(con)
或者你可以这样做:
CGContextAddEllipseInRect(con, CGRectMake(100,100,200,50))
CGContextSetLineWidth(con, 10)
CGContextSetBlendMode(con, kCGBlendModeClear)
CGContextStrokePath(con)
用 [UIColor clearColor] 抚摸和用橡皮擦去你已经完成的填充不是一回事,它只是用透明墨水笔在上面画画。
您可以使用 pathByStrokingPath 创建第二条路径,然后使用 EOClip 'mask' 从您的填充区域到此区域,或者您可以用后面的任何 backgroundColor 描边您的路径...