我需要能够以编程方式在图像上进行绘制,并保存该图像以备后用。说,在图像上的特定x和y坐标上画一条线,保存图像,并将其显示在简单的视图控制器上。我将如何在Swift中进行此操作?(最好是Swift 2,我仍在开发中,还没有将我的mac更新到Sierra)
更新:可能与将UIImage转换为CGLayer,在其上绘制然后再将其转换回UIImage有关。
这很简单:
设置图像图形上下文。(在iOS 10之前,您可以通过调用进行此操作UIGraphicsBeginImageContextWithOptions。在iOS 10中,还有另一种方法UIGraphicsImageRenderer,但如果不想的话,也不必使用它。)
UIGraphicsBeginImageContextWithOptions
将图像绘制(即复制)到上下文中。(UIImage实际上具有draw...用于此目的的方法。)
draw...
在上下文中画线。(为此提供了CGContext函数。)
从上下文中提取结果图像。(例如,如果使用UIGraphicsBeginImageContextWithOptions,则使用UIGraphicsGetImageFromCurrentImageContext。)然后关闭上下文。
UIGraphicsGetImageFromCurrentImageContext