我在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
>>为什么中风两次,如果你只想要一个颜色? –
如果你只想要一种颜色,为什么要抚摸两次?这只是一个测试代码。实际上,我正在实施一个图表框架。用户可以指定轴的边框颜色和颜色以及轴交叉的点。首先我画边界然后画轴。如果一个轴的颜色与边框颜色不同,那么它将以所需的颜色绘制,但只有在它不与边框重合时才会绘制。如果它与经常出现的边界重合,则结果将是边界和轴颜色的混合。这不是用户所要求的。 –