我是Swift的新手,我正在开发一款应用程序,它可以从图库中挑选一张实时照片,并将其显示在imageview上,直到该部分正常工作,但imageview位于另一个具有自定义图像(如背景图像)的imageview之上。当我点击保存按钮时,它只存储具有自定义背景的图像视图。我使用以下代码将其存储在库中:
let imageData = UIImagePNGRepresentation(myView.image!)
let compressedImage = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)这段代码当然在保存按钮上。
我想要做的是让用户能够同时存储这两个东西,例如:
我有一个以银河系为背景的图像视图,在它的上面我有一个显示实时照片的图像视图,所以我想将这两个东西都存储到库中,当我在库中检查它时,我将有一个新的带有星系背景的实时照片。
我不知道是否有人会理解这个例子,但我认为这是我能做的最好的描述问题。
**这是示例
发布于 2017-05-28 09:21:53
您需要在backgroundImage上绘制selectedImage,并保存结果。
添加此UIImage扩展
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
}
}并使用它
if let newImage = backgroundImage.saveImage(withImage: userImage), let imageData = UIImagePNGRepresentation(newImage), let compressedImage = UIImage(data: imageData) {
UIImageWriteToSavedPhotosAlbum(compressedImage, nil, nil, nil)
}其中backgroundImage是自定义背景,userImage是从用户库中选择的实时照片。
https://stackoverflow.com/questions/44222412
复制相似问题