使用swift在OSx中绘制铅笔条纹

时间:2016-08-31 16:27:36

标签: swift macos

我尝试使用以下代码在NSImageView中绘制铅笔条纹:

class DrawView: NSImageView
{
  var point = NSPoint()
  override func drawRect(dirtyRect: NSRect)
  {
    let myContext = NSGraphicsContext.currentContext()?.CGContext
    CGContextSetRGBStrokeColor (myContext, 1, 0, 0, 1)
    CGContextAddArc(myContext, point.x, point.y,1,0.1,0,0)
    CGContextSetLineWidth(myContext, 1)
    CGContextStrokePath(myContext)
  }

  func MousePan(mouseLocation: NSPoint)
  {
    point = mouseLocation
    self.setNeedsDisplay()
  }
}

到目前为止,几乎所有东西都运行良好,只要点击我的视图移动鼠标,我就会在鼠标指针上得到一个红点。 我的问题是,我的视图上没有条纹,只有这个小红点。 为了让这件事有效,我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该使用NSView的子类,而不是NSImageView

方法有点偏。

更像是:

  • CGContextMoveToPoint
  • 然后CGContextLineToPointCGContextCurvedLineToPoint
  • 然后,如果有必要CGContextClosePath
  • 然后CGContextStrokePath