我想创建一个类似于AddressBook中标签(在编辑时)周围的圆角矩形。我试图用一个四舍五入的bezierPath,然后抚摸它来做到这一点。但是,最终的结果并不是非常平滑的边缘。带圆角矩形的NSBezierPath没有光滑的边角
通讯簿标签
通讯簿标签中的精灵放大
我的标签
我标签在精灵
它看起来像在地址簿版本的曲线更积极地朝着背景白色混合放大。在Pixie中,我的光标所在的像素的sRGB值为(0.98,0.98,0.98),在我的版本中它是(0.86,0.86,0.86),导致一些锯齿边缘。 我的代码绘制矩形是
override func drawWithFrame(cellFrame: NSRect, inView controlView: NSView) {
if let context = NSGraphicsContext.currentContext() {
context.saveGraphicsState()
let borderColor = NSColor.init(SRGBRed: 0.75, green: 0.75, blue: 0.75, alpha: 1)
let outline = NSBezierPath.init(roundedRect: cellFrame, xRadius: 4, yRadius: 4)
outline.lineWidth = 4
borderColor.setStroke()
outline.stroke()
drawInteriorWithFrame(cellFrame, inView: controlView)
context.restoreGraphicsState()
}
}
我曾尝试与不同类型的合成,线宽和圆矩形XY半径玩耍 - 但没有成功。我希望对此有一些指导。谢谢
[NSBezierPath drawing]的可能重复(http://stackoverflow.com/questions/13674118/nsbezierpath-drawing) –