缝合/复合多个图像垂直保存为一个图像(iOS,objective-c)

前端之家收集整理的这篇文章主要介绍了缝合/复合多个图像垂直保存为一个图像(iOS,objective-c)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要帮助编写一个将会占用UI Images / PNG数组的objective-c函数,并且按照垂直顺序返回/保存缝合在一起的所有图像的一个高图像.我是新来的,所以请慢走,轻松一点:)

我的想法到目前为止
绘制一个UIView,然后添加到每个人的父母(图像)
接着 ???

解决方法

通常的方法是创建位图图像上下文,将图像绘制在所需位置,然后从图像上下文中获取图像.

你可以使用UIKit来做到这一点,这更容易一些,但不是线程安全的,所以需要在主线程中运行并阻止UI.

这里有很多示例代码,但如果你想要正确的理解,你应该看看UIGraphicsContextBeginImageContext,UIGraphicsGetCurrentContext,UIGraphicsGetImageFromCurrentImageContext和UIImageDrawInRect.别忘了UIGraphicsPopCurrentContext.

您也可以使用Core Graphics,这是AFAIK,可以安全地在后台线程上使用(我还没有发生崩溃).效率大致相同,因为UIKit只是使用CG.
关键词是CGBitmapContextCreate,CGContextDrawImage,CGBitmapContextCreateImage,CGContextTranslateCTM,CGContextScaleCTM和CGContextRelease(Core Graphics中没有ARC).缩放和翻译是因为CG的起点位于右下角,Y上升.

还有第三种方法是使用CG作为上下文,但是通过使用CALayer来保存所有的协调的痛苦,将您的CGImage(UIImage.CGImage)设置为内容,然后将图层渲染为上下文.这仍然是线程安全的,让层来处理所有的转换.这个关键字是 – renderInContext:

猜你在找的iOS相关文章