一尘不染

在Swift中将图像保存在另一个图像之上

swift

我正在学习Swift,并且正在创建一个使用个人照片的应用程序,并将另一个放在上面。我现在有一个hacky解决方案,可以创建该区域的屏幕截图并保存。我需要在Swift中执行此操作

@IBAction func saveImage(sender: AnyObject) {
    //Create the UIImage
    UIGraphicsBeginImageContext(imageView.frame.size)
    view.layer.renderInContext(UIGraphicsGetCurrentContext())
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    //Save it to the camera roll
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}

但是,这是可行的,现在不再可行。但是,这也不是最佳解决方案。

那么,伙计们,我该如何将个人图像中的图像作为叠加图像保存到相机胶卷中?

帮助将不胜感激!谢谢!


阅读 259

收藏
2020-07-07

共1个答案

一尘不染

我建议阅读此线程。您所有的答案都在那里。阅读完该文章后,以下代码示例应有助于您将两个图像正确地合成在一起。

func saveImage() {
    let bottomImage = UIImage(named: "bottom")!
    let topImage = UIImage(named: "top")!

    let newSize = CGSizeMake(100, 100) // set this to what you need
    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)

    bottomImage.drawInRect(CGRect(origin: CGPointZero, size: newSize))
    topImage.drawInRect(CGRect(origin: CGPointZero, size: newSize))

    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}

希望这可以使您朝正确的方向前进。

2020-07-07