保存已创建的实时照片
Saving Already Created Live Photos
我有一些创建为 JPEG 和 MOV 文件的实时照片,现在我想将它们导入到应用程序中,该应用程序允许用户将实时照片保存到他们的照片库中。我该怎么做呢?
我研究过这个:https://github.com/genadyo/LivePhotoDemoSwift 它基本上允许您录制视频并将其转换为实时照片。但是由于我已经创建了 "live photos",我可以立即将它们保存到相机胶卷还是需要走不同的路线?
您可以使用 PHLivePhoto.requestLivePhotoWithResourceFileURLs
从 LivePhoto 的单独元素创建 LivePhoto,然后您可以将其保存到图库中。
func makeLivePhotoFromItems(imageURL: NSURL, videoURL: NSURL, previewImage: UIImage, completion: (livePhoto: PHLivePhoto) -> Void) {
PHLivePhoto.requestLivePhotoWithResourceFileURLs([imageURL, videoURL], placeholderImage: previewImage, targetSize: CGSizeZero, contentMode: PHImageContentMode.AspectFit) {
(livePhoto, infoDict) -> Void in
if let lp = livePhoto {
completion(livePhoto: lp)
}
}
}
makeLivePhotoFromItems(imgURL, videoURL: movURL, previewImage: prevImg) { (livePhoto) -> Void in
// "livePhoto" is your PHLivePhoto object, save it/use it here
}
您将需要 JPEG 文件 URL、MOV 文件 URL 和一张 "preview" 图片(通常只是 JPEG 或它的较轻版本)。
在 Playground 中工作的完整示例 。
我有一些创建为 JPEG 和 MOV 文件的实时照片,现在我想将它们导入到应用程序中,该应用程序允许用户将实时照片保存到他们的照片库中。我该怎么做呢?
我研究过这个:https://github.com/genadyo/LivePhotoDemoSwift 它基本上允许您录制视频并将其转换为实时照片。但是由于我已经创建了 "live photos",我可以立即将它们保存到相机胶卷还是需要走不同的路线?
您可以使用 PHLivePhoto.requestLivePhotoWithResourceFileURLs
从 LivePhoto 的单独元素创建 LivePhoto,然后您可以将其保存到图库中。
func makeLivePhotoFromItems(imageURL: NSURL, videoURL: NSURL, previewImage: UIImage, completion: (livePhoto: PHLivePhoto) -> Void) {
PHLivePhoto.requestLivePhotoWithResourceFileURLs([imageURL, videoURL], placeholderImage: previewImage, targetSize: CGSizeZero, contentMode: PHImageContentMode.AspectFit) {
(livePhoto, infoDict) -> Void in
if let lp = livePhoto {
completion(livePhoto: lp)
}
}
}
makeLivePhotoFromItems(imgURL, videoURL: movURL, previewImage: prevImg) { (livePhoto) -> Void in
// "livePhoto" is your PHLivePhoto object, save it/use it here
}
您将需要 JPEG 文件 URL、MOV 文件 URL 和一张 "preview" 图片(通常只是 JPEG 或它的较轻版本)。
在 Playground 中工作的完整示例