3

意図:オフスクリーンを作成CGLayerし、2番目のスレッドから複雑なものを描画し、後でメインスレッドですばやく描画するために使用します

問題: どのようなコンテキストで最適化する必要があるかを知るために、CGLayerCreateWithContext(context, size, info)既存のが必要です。CGContext

これまでに見つけた解決策: CGContextRef ctx = UIGraphicSetCurrentContext() しかし、この機能はもう存在しないようです。

質問:デフォルト コンテキストのようなものにアクセスする別の方法はありませんか? それとも、 1回の無駄な描画実行でメインスレッドからすべてdrawRect:にアクセスUIGraphicsGetCurrentContext()して作成するためだけに、最初の呼び出しを待つ必要がありますか?CGLayers

4

1 に答える 1

1

次のような方法で画像コンテキストを作成できます。

UIGraphicsBeginImageContext(rect);
    // your drawing code
UIGraphicsEndImageContext();

そうは言っても、メイン以外のスレッドからこれを実行できるかどうかはわかりません。ただし、試してみる価値があります。

于 2011-12-26T21:18:46.837 に答える