わかりましたので、私はそれを自分で行う方法を見つけました。
1)既存の画像から宛先サイズの矩形を切り取る必要があります。 2)その矩形と画像データからNSImageを作成します。
var originalImage : NSImage = NSImage()
if(FileManager.default.fileExists(atPath: self.fileUrl.absoluteURL.path))
{
originalImage = NSImage(byReferencing: self.fileUrl.absoluteURL)
}
else
{
originalImage = NSImage(named: "NoImage")!
}
let originalSize = originalImage.size
var sideSize : CGFloat = 0
//2. get size of square, by checking what side is smaller
if(originalSize.width > originalSize.height)
{
sideSize = originalSize.height
}
else
{
sideSize = originalSize.width
}
var originalImageRect : CGRect = CGRect(x: 0, y: 0, width: originalSize.width, height: originalSize.height)
guard let imageRef = originalImage.cgImage(forProposedRect: &originalImageRect, context: nil, hints: nil) else { return }
let thumbnailRect = CGRect(x: (originalSize.width/2 - sideSize/2), y: (originalSize.height/2 - sideSize/2), width: sideSize, height: sideSize)
let drawImage = imageRef.cropping(to: thumbnailRect);
let newImage = NSImage(cgImage: drawImage!, size: NSSize(width: SLIDE_WIDTH, height: SLIDE_HEIGHT))
OperationQueue.main.addOperation{
self.thumbnail = newImage
}