我正在开发一个图像处理应用程序,它覆盖从照片库加载的图像上的径向渐变。
在屏幕上我有一个滑块来动态地减小/减小径向渐变的半径。我发现模拟器上的性能还不错,但是在iPhone 3G或3GS上,移动滑块时重绘的速度要快得多。
我目前正在使用CGContextDrawRadialGradient
进行绘图。每次重绘时我都遵循的步骤:
UIGraphicsBeginImageContext(size)
; CGGradientCreateWithColorComponents
drawInRect
CGContextSetBlendMode
CGContextDrawRadialGradient
UIGraphicsEndImageContext();
drawInRect
。有更快的绘制方式吗?也许使用OpenGL?
任何建议/示例代码都将受到赞赏。
感谢。
答案 0 :(得分:1)
以下是一些可能会提高绩效的想法 (假设您使用渐变为图像添加渐晕):
CGLayer
中,这样可以避免每次需要绘制时缩放。CGLayer
。