如何将图像写入文件?

Posted

技术标签:

【中文标题】如何将图像写入文件?【英文标题】:How do I write image to file? 【发布时间】:2017-02-18 18:42:23 【问题描述】:

我正在使用 Swift 3、Xcode 8.2、ios 10

出于调试目的,我正在尝试拍摄图像,对其进行裁剪并显示裁剪后的图像的样子。我正在尝试将此图像写入我的计算机(Mac OS X)桌面,但我发现的所有教程都让我将其写入我的文档目录,我错误地认为它实际上是我计算机上的一个目录,但事实证明它是这个位置在电话本身上,我无法弄清楚如何访问。

到目前为止我有这个:

    let finalImage : UIImage

    let crop_section = CGRect(x: 0.0, y: 0.0, width: 1000.0, height: 1000.0)

    let cg_image = screenshot.cgImage?.cropping(to: crop_section)
    finalImage = UIImage(cgImage: cg_image!)

    let documentsDirectoryURL = try! FileManager().url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
    // create a name for your image
    print(documentsDirectoryURL)
    let fileURL = documentsDirectoryURL.appendingPathComponent("cropped.png")


    if !FileManager.default.fileExists(atPath: fileURL.path) 
        do 
            try UIImagePNGRepresentation(finalImage)!.write(to: fileURL)
            print("Image Added Successfully")
         catch 
            print(error)
        
     else 
        print("Image Not Added")
    

我想用../Desktop/cropped.png 之类的东西替换documentDirectory,但我不知道该怎么做。任何帮助将不胜感激!

【问题讨论】:

iOS 没有 Desktop 目录虽然... 在模拟器中运行您的应用程序,文件将保存在您的 Mac 上。 另请参阅***.com/questions/31709727/… 【参考方案1】:

我想用 ../Desktop/cropped.png 之类的东西替换 documentDirectory

你不能。这是一个 iOS 程序。 iOS 应用程序在 iOS 设备/模拟器上的自己的一组目录中被沙箱化;它无法伸手查看 Mac OS X 桌面。它们是两个不同的宇宙。

【讨论】:

以上是关于如何将图像写入文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 WPF 图像资源文件夹写入磁盘?

如何将图像的名称及其坐标写入 save.txt 文件?

将 Base64 编码的图像写入文件

我有一个 base64 编码的 png,如何将图像写入 PHP 中的文件?

如何使用 PIL 将 PNG 图像写入字符串?

Python:将图像和数据帧写入同一个 excel 文件