2016-09-26 9 views
2

CGLayerとCALayerとCGContextの違いは何ですか?ドキュメントが言うようにCGLayer、CALayer、CGContextの相違点

+1

http://stackoverflow.com/questions/4458812/whats-the-difference-and-compatibility-of-cglayer-and-calayer –

+0

http://stackoverflow.com/questions/14658750/cgcontext-vs -calayer –

答えて

2

ので、QuartzCore frameworkから

CALayerの

のCALayerクラスは、画像ベースのコンテンツを管理し、そのコンテンツにアニメーションを実行 にできることです。レイヤーは、多くの場合、ビューのバッキングストア を提供するために使用されますが、表示なしで使用することもできます。 コンテンツを表示します。詳細情報については

ご覧くださいhttps://developer.apple.com/reference/quartzcore/calayer

Core Graphics frameworkから

CGLayer

Layerオブジェクトは、オフスクリーン描画のために有用であり、ビットマップ・コンテキストができることを ほぼ同じ方法で使用することができています利用される。実際、CGLayerオブジェクト は、ビットマップコンテキストよりもはるかに優れた表現です。詳細情報については

(同じ スケールファクタと向きを使用して)あなたは キャプチャあなたが繰り返しスタンプ図面の片に必要な場合は特に、パフォーマンスを向上させることができ CGLayerオブジェクトを使用すると、見てくださいhttps://developer.apple.com/reference/coregraphics/1666309-cglayer

注CGLayerオブジェクトはCore Animationレイヤ(CALayer オブジェクト)とは無関係です。 Core Graphics frameworkから

CGContext

あるグラフィックスコンテキストは、先のウィンドウであるかどうかをパラメータと先にページ上の塗料をレンダリングするために必要なすべてのデバイス固有 情報、 描画含まアプリケーションでは、ビットマップイメージ、 PDFドキュメント、またはプリンタです。詳細情報については

CGLayerにhttps://developer.apple.com/reference/coregraphics/1666363-cgcontext

0

CGをご覧下さいコアアニメーションのためのCALayerにおけるコアグラフィックスとCAの略です。 これは本当に混乱しています。

CGLayerは、CoreGraphics.frameworkによって提供され、円、長方形、線などのさまざまな幾何学的形状のベクトルオブジェクトを描画するために主に使用されます。これは、CPUレンダリングIIRCでの高性能グラフィックスサポートを提供します。

CALayer(Quartzフレームワークによって提供されています)は、単に 'Views'のコンテンツアニメーション用です。これは主にGPUを使用するOpenGLベースです。

CGContext(再び石英フレームワークによって提供される) - このコンテンツは、DOCからコピーされた直接

グラフィックスコンテキストは、描画パラメータと先にページ上の塗料をレンダリングするために必要なすべてのデバイス固有 情報が含まれてい、 宛先がアプリケーション内のウィンドウであるか、ビットマップイメージであるか、 PDFドキュメントであるか、プリンタであるかを示します。 Quartzグラフィックスコンテキスト作成関数を使用するか、Carbon、Cocoa、またはPrinting フレームワークで提供される 高水準関数を使用して、グラフィックコンテキストを で取得できます。クォーツは、 ビットマップイメージとPDFを含むクォーツグラフィックスコンテキストのさまざまなフレーバーの作成関数を提供します。 Cocoa フレームワークは、ウィンドウグラフィックスコンテキストを取得するための関数を提供します。 印刷フレームワークは、宛先プリンタに適切なグラフィックス コンテキストを取得する関数を提供します。