mak*_*dad 6 macos core-graphics ios
用例:我将UIView子类化为创建一个自定义视图,该视图使用圆角矩形"遮罩"UIImage(将图像剪切为圆角矩形).代码正在运行; 我使用了类似这个问题的方法.
但是,我想要剪切剪切路径以创建"框架".这是有效的,但弧形笔划看起来与线条笔划明显不同.我已经尝试将笔划宽度调整到更大的值(我认为它最初是像素化),但抗锯齿似乎处理弧和线不同.
这是我在模拟器上看到的内容:

这是绘制它的代码:
CGContextSetRGBStrokeColor(context, 0, 0, 0, STROKE_OPACITY);
CGContextSetLineWidth(context, 2.0f);
CGContextAddPath(context, roundRectPath);
CGContextStrokePath(context);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何顺利排队?
Pet*_*sey 12
...但是抗锯齿似乎不同地处理弧和线.
不,它没有.
你的中风宽度是一致的 - 它一直是2 pt.
错误的是你已经剪裁成一个矩形,你的形状的两侧正好在这个矩形的边缘上,所以只有矩形内侧的两半被绘制出来.这就是为什么边缘只出现1 px宽.
解决方案要么不剪辑,要在裁剪到每个轴之前将每个轴上的剪裁矩形增长2 pt,要么将形状的边缘向内移动1 pt.(ETA:或者,是的,做一个内心的中风.)