迅速

2016-08-31 17 views
1

を使用してOSXでのペンシルストライプを描き、私はこのコードを使用して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() 
    } 
} 

これまでのところ、ほぼすべてが正常に動作し、私はのように私のマウスポインタに赤いポイントを得ます私は私のビューをクリックするとすぐにマウスを移動します。 私の問題は、私は私の視点でストライプを取得しない、ちょうどこの小さな赤い点です。 この機能を動作させるには、何が必要ですか?

ありがとうございます。

答えて

0

まず、サブタイプがNSViewで、NSImageViewではなく、サブクラスを使用する必要があります。

そして、方法はちょっとおかしいです。

それはより多くのように行く:必要に応じて CGContextStrokePathその後CGContextClosePath

  • その後

    • CGContextMoveToPoint
    • その後CGContextLineToPointまたはCGContextCurvedLineToPoint