1 基本的概念 sketch 的 shape 是基于 MSShapeGroup 和 NSBezierPath 这两个类构成的。 一般的过程是先定义 NSBezierPath ,然后新建一个 MSShapeGroup ,把前面定义的 NSBezierPath 添加到 MSShapeGroup 里,添加样式,最后再添加到 page 在 sketch 的插件中,画布就是 MSShapeGroup ,画笔就是 NSBezierPath 。 NSBezierPath 类,就是贝塞尔路径,是用一系列直线和曲线来描述图形的对象。 var ctx=[NSBezierPath bezierPath]; ctx.moveToPoint(point1); ctx.lineToPoint(point2); 这样就定义了一条从起点(50,70 var doc=context.document; var page=doc.currentPage(); //createBezierPath var nsb=[NSBezierPath bezierPath
sketch 的 curve 是通过 NSBezierPath 绘制的,通过3个点(每个点是一个 NSMakePoint 对象 ),绘制一条 bezier path 。 1 熟悉 NSBezierPath 如上图所示的三点,绘制一条 bezier path 。 NSMakePoint(0,0); var p2=NSMakePoint(100,30); var p3=NSMakePoint(100,100); //createBezierPath var nsb=[NSBezierPath
response in guard let strongSelf = self else {return} self.mode = response.data self.updateUI() } NSBezierPath 转 CGPath extension NSBezierPath { public var cgPath: CGPath { let path = CGMutablePath()
layer: rect, width: image.size().width + x, height: image.size().height + y }; }; drawRect 运用了 NSBezierPath function drawRect(x, y, w, h) { var nsb = [NSBezierPath bezierPath]; nsb.appendBezierPathWithRect(NSMakeRect
04 路径 NSBezierPath 创建复杂形状,在 Cocoa 中是唯一可用的方法。
colorWithCalibratedWhite:.72 alpha:1.0] setStroke]; [[NSColor colorWithCalibratedWhite:.82 alpha:1.0] setFill]; NSBezierPath *selectionPath = [NSBezierPath bezierPathWithRoundedRect:selectionRect xRadius:10 yRadius:10]; [