Мне удалось получить одно изображение для сохранения на выбранный URL-адрес, но мне нужно сохранить несколько изображений NSI с пользовательскими именами.Я бы предпочел сохранить все изображения в каталог, а затем сохранить каталог, но я не могу сохранить что-либо в каталог после его создания.Это код, который я должен сохранить одно изображение из NSSavepanel.(image1 - это NSImage (). Он был установлен на файл, перетаскиваемый в приложение. Затем его размер изменяется).
func save() {
let dialog = NSSavePanel()
dialog.title = "Save file"
dialog.showsResizeIndicator = false
dialog.canCreateDirectories = true
dialog.showsHiddenFiles = true
dialog.allowedFileTypes = ["png"]
if (dialog.runModal() == NSApplication.ModalResponse.OK) {
let result = dialog.url
if (result != nil) {
let picture = image1
picture.writePNG(toURL: result!)
print("saved at \(result!)")
}
} else {
print("Cancel")
return // User clicked cancel
}
}
Это код, который я должен записать в URL-адрес изображения:
public extension NSImage {
public func writePNG(toURL url: URL) {
guard let data = tiffRepresentation,
let rep = NSBitmapImageRep(data: data),
let imgData = rep.representation(using: .png, properties: [.compressionFactor : NSNumber(floatLiteral: 1.0)]) else {
print("\(self.self) Error Function '\(#function)' Line: \(#line) No tiff rep found for image writing to \(url)")
return
}
do {
try imgData.write(to: url)
}catch let error {
print("\(self.self) Error Function '\(#function)' Line: \(#line) \(error.localizedDescription)")
}
}
}