【问题标题】:iPhone - Save UIImage to desktop on simulatoriPhone - 在模拟器上将 UIImage 保存到桌面
【发布时间】:2011-08-13 06:12:40
【问题描述】:

我目前正在使用模拟器。 我想在我的桌面上将 UIImage 保存为 jpg 文件。

我好像遇到了路径什么的问题。

感谢您的帮助:)

【问题讨论】:

  • 请提供更多详细信息。

标签: iphone uiimage ios-simulator


【解决方案1】:

以下内容应该可以帮助您入门...myImage 是一个 UIImage 对象。

NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *myImageData = UIImagePNGRepresentation(myImage);
[fileManager createFileAtPath:@"/Users/Me/Desktop/myimage.png" contents:myImageData attributes:nil];

编辑:刚刚注意到您想要一张 JPG 图片,您可以使用 UIImageJPEGRepresentation() 获得 JPG 的 NSData 表示,所以:

NSData *myImageData = UIImageJPEGRepresentation(myImage, 1.0);

注意:这对于快速和肮脏的测试很有用,但我建议学习如何写入应用程序的文档目录,然后使用 Finder 在那里查找文件。模拟器中应用程序文档目录的示例路径是:

/Users/Me/Library/Application Support/iPhone Simulator/4.3/Applications/1E2C2C81-1ED6-4DC9-CDD0-CA73FB56501F/Documents

【讨论】:

  • 是的,它用于脏测试:)
  • 实际上如何“写入应用程序的文档目录,然后使用Finder查找那里的文件。模拟器中应用程序文档目录的示例路径是:”
  • 注意:您必须在模拟器上执行此操作(duh)。我不知道为什么它停止工作,然后意识到我正在构建设备。
【解决方案2】:

尝试去cd /Users/{your username}/Library/Application\ Support/iPhone\ Simulator/4.3/Applications/{application id}/Documents/

{your username} 替换为您的 mac 用户名,{application id} 是您的应用程序 GUID(随机)。您也可以将4.3 更改为您的应用所针对的任何版本

【讨论】:

    【解决方案3】:

    对于斯威夫特

    func outputImage(name:String,image:UIImage){
        let fileManager = FileManager.default
        let data = UIImagePNGRepresentation(image)
        fileManager.createFile(atPath: "/Users/UserName/Projects/MyProject/testImages/\(name)", contents: data, attributes: nil)
    }
    

    这样打电话,

    outputImage(name: "imageName.png", image: image)
    

    【讨论】:

      【解决方案4】:

      模拟器模拟沙盒应用程序,但由于它位于您的 Mac 上,您可以访问存储应用程序及其所有文件的目录。因此,在您的应用程序中,如果您可以弄清楚如何将数据写入文件(在应用程序的沙箱内),那么您可以使用 Finder 来定位目录并定位文件。这有帮助还是我错过了什么?

      【讨论】:

        猜你喜欢
        • 2012-02-14
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        • 2022-11-30
        • 2011-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多