如何重用相同的 CGContext?

问题描述

每秒很多次,我修改一个现有的 UIImage :

UIGraphicsBeginImageContextWithOptions(CGSize(width: 2000,height: 2000),false,2)
let context = UIGraphicsGetCurrentContext()!
image.draw(at: CGPoint.zero)
... do stuff in context...
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

我每次都创建一个新的上下文,修改之前需要调用image.draw来加载图片的内容,但是image.draw非常耗时。

有没有办法在用户会话中使用相同的上下文?

解决方法

绘图过程不是一个可以重复使用的东西,因为它 begins,draws,renders 最后是 ends ,所以每次你都需要遵循这 4 个steps ,意味着 Context 不是要重用的重创建对象

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...