【问题标题】:NSBezierPath with transparent fill带有透明填充的 NSBezierPath
【发布时间】:2013-06-29 20:00:14
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: cocoa nsview nsbezierpath nscolor


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2019-10-29
      相关资源
      最近更新 更多