我在OS X中繪製線條時出現問題。以下代碼繪製一個紅色矩形,然後繪製綠色的相同矩形。我期待一個綠色的矩形,因爲它是最後繪製的。我得到了紅色和綠色 - 橄欖綠色的混合物。如何在這種情況下修改代碼以獲得綠色矩形?在彼此頂部繪製線條
import Cocoa
class TestView : NSView {
override func drawRect (dirtyRect : NSRect) {
super.drawRect (dirtyRect)
let rect = NSRect (x : 100 , y : 200 , width : 100 , height : 100)
var p = NSBezierPath()
var c = NSColor (red : 1 , green : 0 , blue : 0 , alpha : 1)
c.set()
p.appendBezierPathWithRect (rect)
p.stroke()
p = NSBezierPath()
c = NSColor (red : 0 , green : 1 , blue : 0 , alpha : 1)
c.set()
p.appendBezierPathWithRect (rect)
p.stroke()
}
}
感謝/的Mikael
>>爲什麼中風兩次,如果你只想要一個顏色? –
如果你只想要一種顏色,爲什麼要撫摸兩次?這只是一個測試代碼。實際上,我正在實施一個圖表框架。用戶可以指定軸的邊框顏色和顏色以及軸交叉的點。首先我畫邊界然後畫軸。如果一個軸的顏色與邊框顏色不同,那麼它將以所需的顏色繪製,但只有在它不與邊框重合時纔會繪製。如果它與經常出現的邊界重合,則結果將是邊界和軸顏色的混合。這不是用戶所要求的。 –