我使用imagePickerController从相机胶卷中选择一张图像。我想将该图像复制到像Images.xcassets这样的资产目录中。你怎么能这样做?
答案 0 :(得分:0)
图像xcassets
只不过是与特定文件/目录组织和JSON目录相结合的图像集合,因此原则上创建它们并不困难:
myimages.xcassets/
myimages.xcassets/LaunchImage.launchimage
"images": [
{
"scale": "2x",
"orientation": "portrait",
"minimum-system-version": "7.0",
"filename": "launch_seed_ipad_portrait.png",
"idiom": "ipad",
"extent": "full-screen"
},
[... etc ...]
}
就是这样。点是,作为捆绑包,图像目录更像是一个设施,用于简化Xcode项目中的图像组织 (例如,我在项目自动化的上下文中创建它们),而不是要编译的东西在应用中,所以你的问题看起来有点像问:
所有可以继续进行的操作,如果付出相当大的努力,但不太可能做得很好(因为应用程序无法使用结果,或者有更方便的替代方案)。
希望这有帮助
答案 1 :(得分:0)
(SWIFT):
没有应用资源,但您可以将图像保存在"文档":
中let dirPath = dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let imagePath = (dirPath as NSString).stringByAppendingPathComponent("IMAGE.EXT")
let fileManager = NSFileManager.defaultManager()
do
{
try fileManager.createDirectoryAtPath(imagePath, withIntermediateDirectories: true, attributes: nil)
}
catch _
{
}
if let image: UIImage = UIImage(data: DATA)//OR YOUR SOURCE
{
var imageData: NSData! = UIImagePNGRepresentation(image)
if imageData == nil
{
imageData = UIImageJPEGRepresentation(image, 100)
}
if imageData == nil
{
//DO SOMETHING..
}
imageData!.writeToFile(imagePath, atomically: true)
}
然后加载:
if fileManager.fileExistsAtPath(imagePath)
{
return UIImage(contentsOfFile: imagePath)
}
这对我有用,希望有所帮助!