我正在使用 iOS 中的核心图形绘制一个椭圆。椭圆角附近的区域是黑色的。我希望它是clearColor。我该怎么办?
CGContextAddEllipseInRect(context, ellipseFrame);
CGContextSetFillColorWithColor(context, fillColor);
CGContextFillEllipseInRect(context, ellipseFrame);
对不起。我没有足够的声誉来添加我的输出截图。
我正在使用 iOS 中的核心图形绘制一个椭圆。椭圆角附近的区域是黑色的。我希望它是clearColor。我该怎么办?
CGContextAddEllipseInRect(context, ellipseFrame);
CGContextSetFillColorWithColor(context, fillColor);
CGContextFillEllipseInRect(context, ellipseFrame);
对不起。我没有足够的声誉来添加我的输出截图。
如果在 UIView 子类的 drawRect 方法中绘制椭圆,则椭圆角附近的区域必须取 UIView 的背景色。将其 backgroundColor 设置为 clearColor 应该可以解决问题。
在开始绘图之前清除上下文:
CGContextClearRect(context, ellipseFrame);
在 UIView 或 NSView 中,您从后向前绘制。您可以将您在 drawRect: 中编写的代码视为程序性的从前到后的绘图指令。如果您看到黑角,您可能有一个 isOpaque 的包含视图,或者需要先执行 [[NSColor clearColor] fill],然后在 drawRect 中进行后续绘图: