【问题标题】:Continuously drawing into an iPhone bitmap object? What am I missing?连续绘制到 iPhone 位图对象?我错过了什么?
【发布时间】:2025-12-23 09:30:11
【问题描述】:

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

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

我想我正在寻找一种方法来创建一个屏幕外位图,使用 Core Graphics 尽可能多地渲染它,并且只要我想,将该图像 blt 到屏幕上,但仍然保留能够继续画下去,然后再把它刷到屏幕上。

提前致谢!

【问题讨论】:

    标签: iphone core-graphics


    【解决方案1】:

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

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

    【讨论】:

      最近更新 更多