如何快速将几张图像作为一张图像保存到照片库?

Posted

技术标签:

【中文标题】如何快速将几张图像作为一张图像保存到照片库?【英文标题】:How to save a couple of images as one image to photo library in swift? 【发布时间】:2018-08-13 00:18:30 【问题描述】:

第一个视图控制器中有三个图像视图(两个甜甜圈 png 和一个辛普森图像)。是否有任何解决方案可以将这些图像捕获为一张图像并将其保存到照片库?谢谢。

【问题讨论】:

使用图像图形上下文。将三个图像按从后到前的顺序绘制到其中。完成。 【参考方案1】:

试试这个,传入包含你需要的所有子视图的基础视图:

func createImage(from aView:UIView) -> UIImage 
    UIGraphicsBeginImageContextWithOptions(CGSize(width: aView.frame.width, height: aView.frame.height), true, 0)
    aView.layer.render(in: UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image!

【讨论】:

dfd 谢谢,我不太明白我应该在你的函数中传递什么参数。在我的情况下,我应该如何将此 UIview 作为参数?再次感谢您! 您的屏幕截图和问题表明您有 3 个图像视图,以及一个“完成”按钮。如果您传入控制器的根视图,您将创建包括“完成”按钮在内的所有内容的图像。如果您还没有设置它,只需将三个图像视图放入一个不可见的“容器”视图并将其传递给函数。 dfd 谢谢,它可以工作,但与在另一个图像上下文中逐个绘制相比,图像质量有点低(如模糊)。你知道为什么吗? THX dfd 我更改了您的代码 UIGraphicsBeginImageContextWithOptions(CGSize(width: aView.frame.width, height: aView.frame.height), true, 0) 并且效果很好。 THX

以上是关于如何快速将几张图像作为一张图像保存到照片库?的主要内容,如果未能解决你的问题,请参考以下文章

有张彩色的jpg图片,如何转换成灰度图

如何制作图像拼贴并将图像保存到照片库

如何将一些图像作为一个图像保存到swift中的照片库?

如何将照片库中的图像保存到应用程序的文档文件夹

如何将几张静态JPG图片转化成动态GIF的图片?

如何使用具有离子和角度的照片相机在firebase中同时保存多个图像