0

今、私はこれを行います:

CGContextRef context = NULL;
context = [[NSGraphicsContext currentContext] graphicsPort];

[see if I need to restore]
[if so]
CGContextRestoreGState(context);

[do transformations and draw some stuff]

[save the current state]
CGContextSaveGState(context);

それらに戻ることができるように、さまざまな状態が必要です。今のやり方では、1つしか収納できないようです。複数のコンテキストが必要ですか? 私はそう推測していますが、最善の方法が何であるかはわかりません。ココアにハマったばかりですが、とにかく聞いてみようと思いました!ありがとうございました!

4

2 に答える 2

1

さまざまな状態を保存するのではなく、元に戻すマネージャーを実装したいかもしれません。このアプリSimpleDrawingには、元に戻すマネージャーとコンテキストでクォーツを使用する良い例があります。

于 2013-03-29T01:31:33.883 に答える
1

CGContextSaveGState/を使用CGContextRestoreGStateすると、複数のグラフィック状態を保存できます。のドキュメントにCGContextSaveGStateは、「各グラフィックス コンテキストはグラフィックス状態のスタックを保持しています。」と記載されています。

于 2013-03-29T03:53:43.877 に答える