Сохранить изображение в файл и получить изображение из файла в Swift - PullRequest
0 голосов
/ 28 ноября 2018

Мне нужно сохранить UIImage в файл.Для этой цели я использую следующий код:


    @IBAction func saveTextImage(_ sender: UIBarButtonItem) {
    let imageToSave = UIImage.imageWithLabel(textField: showRanjana)
    guard let fileURL = TypeRanjanaViewController.storeImageToDocumentDirectory(image: imageToSave, fileName: "Ranjana"+String(currentTimeInMilliSeconds())+".png") else {
        return
    }
    print(fileURL)
    showSavedFile(fileUrlToAshow: fileURL)
    guard let uiImage = UIImage(contentsOfFile: fileURL.absoluteString) else {
        print("Image is nil")
        return
    }
    testImageView.image = uiImage
}

public static func storeImageToDocumentDirectory(image: UIImage, fileName: String) -> URL? {
    guard let data = image.pngData() else {
        return nil
    }
    let fileURL = self.fileURLInDocumentDirectory(fileName)
    do {
        try data.write(to: fileURL)
        return fileURL
    } catch {
        return nil
    }
}
public static var documentsDirectoryURL: URL {
    return FileManager.default.urls(for:.documentDirectory, in: .userDomainMask)[0]
}
public static func fileURLInDocumentDirectory(_ fileName: String) -> URL {
    return self.documentsDirectoryURL.appendingPathComponent(fileName)
}

Вот расширение для получения изображения из UiLabel


extension UIImage {
class func imageWithLabel(textField: UITextField) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(textField.bounds.size, false, 0.0)
    textField.layer.render(in: UIGraphicsGetCurrentContext()!)
    let img = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return img!
}
}

IЯ могу сгенерировать изображение из uiImage и сохранить его с помощью функции saveTextImage (..).Здесь fileURL возвращает URL для изображения.Но я не могу найти изображение при создании изображения, т. Е. Он возвращает ноль.Нужны ли нам разрешения для хранения / получения изображения?Как извлечь изображение из URL / проверить, сохранено ли изображение на диске?

...