4

我有一个NSBezierPath需要半透明填充的。当我用纯色填充它时,我得到了预期的结果。但是,当用半透明颜色填充时,我会得到一个带有圆形笔触但奇怪的矩形填充的路径。看起来像:

矩形填充

我没有填充整个区域,而是在斯托克内部得到一个填充的矩形,并带有一个未填充的小边框。我设置我的路径如下:

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];

如果有人有任何想法,那就太好了。

谢谢

4

1 回答 1

1

半透明填充与边界重叠,因为 NSBezierPath 从导致小边界的路径中间笔划。白色边框和另一个边框应加起来最多为 4 个像素。因此,要解决此问题,我认为您需要创建另一个贝塞尔路径以防止 2 相互重叠。

于 2013-06-29T12:00:14.720 回答