콘텐츠로 건너뛰기
Home » NSGraphicsContext

NSGraphicsContext

트랙킹 캔버스 뷰 만들기 (Cocoa)

예전에 코어 그래픽을 사용해서 UIView위에 손가락으로 그림을 그릴 수 있는 간단한 핑거 드로잉 캔버스를 구현해본 바 있는데, 똑같은 내용을 NSView에 적용해보고자 한다. 이전글이 Objective-C로 작성되어 있는데, 이번에는 Swift로 간단하게 작성해보려 한다. 원리는 동일하다. CGLayer를 하나 만들고, 마우스를 사용해서 뷰를 긁을 때(드래그할 때)마다  코어 그래픽을 사용해서 레이어에 그림을 그리고, 다시 뷰 리드로잉 사이클에서는 뷰에 레이어를 그리는 것이다. class TrackDrawCanvasView: NSView { var previousPoint: NSPoint? = nil lazy var drawingLayer: CGLayer? = { [unowned self] in let cs = CGColorSpace(name:CGColorSpace.sRGB)! let ctx =… 더 보기 »트랙킹 캔버스 뷰 만들기 (Cocoa)

NSGraphicsContext로부터 CGContextRef 얻기

아직 문서화가 안됐는데, NSGraphicsContext 객체로부터 CGContextRef 객체를 얻기 위해서 이전에는 -graphicsPort를 이용했는데, 이 프로퍼티는 deprecated되었고, (10.9 이상) 현재는 CGContext 프로퍼티를 쓴다. 헤더에만 나와있으니 참고