不断绘制到iPhone位图对象?我错过了什么?

时间:2010-10-12 19:47:19

标签: iphone core-graphics

我很确定这是一个直截了当的问题我必须要混淆(我是iPhone上的新手):我正在尝试使用CG API连续绘制形状到位图对象,并始终显示出来屏幕上的该位图的最新版本,位于UIScrollView对象内,因此用户可以平移,缩放等。

将UIView与drawRect一起使用是不行的,因为这是一个持续的事情 - 我有一个单独的线程,其中发出所有绘图命令,我需要它们应用和累积在同一个帧缓冲区(有点像网络页面渲染引擎)。我一直看到的是,所有与图像相关的GCContext API似乎都会在您想要将其渲染到屏幕时创建一个全新的图像。这听起来很糟糕,因为它会强制创建另一个图像副本。

我想我正在寻找一种创建离屏位图的方法,使用Core Graphics尽可能多地渲染它,并且每当我想要时,将该图像blt到屏幕上,但仍然保留了继续画画并再次将它拍到屏幕上。

提前致谢!

1 个答案:

答案 0 :(得分:4)

您可以使用CGLayer。使用CGLayerCreateWithContext()创建一次,然后在需要绘制时使用CGLayerGetContext()检索图层的上下文。

要将图层绘制到另一个图形上下文中,请调用CGContextDrawLayerAtPoint()CGContextDrawLayerInRect()