我想創建一個類似於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) –