Что-то вроде ...
func crop(nsImage: NSImage,rect: CGRect) -> NSImage {
let cgImage = (nsImage?.cgImage(forProposedRect: nil, context: nil, hints: nil)?.cropping(to: rect))!
let size = NSSize(width: rect.width, height: rect.height)
return NSImage(cgImage: cgImage, size: size)
}
Извините, не скомпилировал этот фрагмент кода, но общий метод работал в моем коде.Возможно, лучше это сделать как расширение NSImage, если это возможно.