【发布时间】:2011-08-13 06:12:40
【问题描述】:
我目前正在使用模拟器。 我想在我的桌面上将 UIImage 保存为 jpg 文件。
我好像遇到了路径什么的问题。
感谢您的帮助:)
【问题讨论】:
-
请提供更多详细信息。
标签: iphone uiimage ios-simulator
我目前正在使用模拟器。 我想在我的桌面上将 UIImage 保存为 jpg 文件。
我好像遇到了路径什么的问题。
感谢您的帮助:)
【问题讨论】:
标签: iphone uiimage ios-simulator
以下内容应该可以帮助您入门...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
【讨论】:
尝试去cd /Users/{your username}/Library/Application\ Support/iPhone\ Simulator/4.3/Applications/{application id}/Documents/
将 {your username} 替换为您的 mac 用户名,{application id} 是您的应用程序 GUID(随机)。您也可以将4.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)
【讨论】:
模拟器模拟沙盒应用程序,但由于它位于您的 Mac 上,您可以访问存储应用程序及其所有文件的目录。因此,在您的应用程序中,如果您可以弄清楚如何将数据写入文件(在应用程序的沙箱内),那么您可以使用 Finder 来定位目录并定位文件。这有帮助还是我错过了什么?
【讨论】: