具有透明填充的NSBezierPath

4
我有一个需要半透明填充的NSBezierPath。当我用纯色填充时,得到了预期的结果。然而,当使用半透明颜色填充时,我得到了一个带有圆角描边但是填充区域奇怪的矩形路径。它看起来像这样:Rectangular fill。与其填满整个区域,我得到了一个填充矩形和一个小的未填充边框的内部。我按照以下方式设置我的路径:
NSBezierPath *menuItem = [NSBezierPath bezierPathWithRoundedRect:menuItemRect xRadius:3 yRadius:3]

[menuItem setLineWidth:4.0];
[menuItem setLineJoinStyle:NSRoundLineJoinStyle];

[[NSColor whiteColor] set];
[menuItem stroke];

[[NSColor colorWithCalibratedRed:0.000 green:0.000 blue:0.000 alpha:0.500] set];
[menuItem fill];

如果有任何想法,那就太好了。谢谢。
1个回答

1
半透明填充与边框重叠,因为NSBezierPath从路径中间描边,这导致了小边框。白色边框和其他边框应该加起来是4像素。所以为了解决这个问题,我认为你需要创建另一个bezier路径来防止两者重叠。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接