首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将PHLivePhoto保存到图片库?

如何将PHLivePhoto保存到图片库?
EN

Stack Overflow用户
提问于 2017-05-28 07:16:37
回答 1查看 469关注 0票数 0

我是Swift的新手,我正在开发一款应用程序,它可以从图库中挑选一张实时照片,并将其显示在imageview上,直到该部分正常工作,但imageview位于另一个具有自定义图像(如背景图像)的imageview之上。当我点击保存按钮时,它只存储具有自定义背景的图像视图。我使用以下代码将其存储在库中:

代码语言:javascript
复制
let imageData = UIImagePNGRepresentation(myView.image!)
let compressedImage = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)

这段代码当然在保存按钮上。

我想要做的是让用户能够同时存储这两个东西,例如:

我有一个以银河系为背景的图像视图,在它的上面我有一个显示实时照片的图像视图,所以我想将这两个东西都存储到库中,当我在库中检查它时,我将有一个新的带有星系背景的实时照片。

我不知道是否有人会理解这个例子,但我认为这是我能做的最好的描述问题。

**这是示例

enter image description here

EN

回答 1

Stack Overflow用户

发布于 2017-05-28 09:21:53

您需要在backgroundImage上绘制selectedImage,并保存结果。

添加此UIImage扩展

代码语言:javascript
复制
extension UIImage {
    func saveImage(withImage image: UIImage) -> UIImage? {
        // create image
        UIGraphicsBeginImageContext(size)
        draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
        let centeredFrame = CGRect(x: (size.width - image.size.width)/2, y: (size.height - image.size.height)/2, width: image.size.width, height: image.size.height)
        image.draw(in: centeredFrame)
        let result = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return result
    }
}

并使用它

代码语言:javascript
复制
if let newImage = backgroundImage.saveImage(withImage: userImage), let imageData = UIImagePNGRepresentation(newImage), let compressedImage = UIImage(data: imageData) {
    UIImageWriteToSavedPhotosAlbum(compressedImage, nil, nil, nil)
}

其中backgroundImage是自定义背景,userImage是从用户库中选择的实时照片。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44222412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档