0

Office 2013 がどのように機能するかを理解しようとしています - 画面にコンテンツを描画する部分です。これまでの私の調査結果:

  1. Office は を使用して、Wic ベースのビットマップを作成していCreateWicBitmapRenderTargetます。
  2. このレンダー ターゲットを使用して、Office はさまざまな描画方法を使用します。期待どおり、BeginDraw/EndDraw でこれらの呼び出しをラップします。
  3. Office は DrawGlyphRun メソッドを使用して、ドキュメントのテキストを Wic ビットマップ上に描画します (つまり、DrawGlyphRun の This ポインターは、CreateWicBitmapRenderTarget から返されるポインターです)。

この時点で、Office がどのように継続するのか混乱しています。だから私の質問は:

Wic ベースのレンダー ターゲットを画面にコピーするには、どのような方法がありますか?

最後に、Office はスワップ チェーンを使用していると確信しています (おそらくCreateSwapChainWindows 7 とCreateSwapChainForHwndWindows 8 で作成されています)。CreateBitmapFromWicBitmapやなどのさまざまな「疑わしい」関数をステップCreateBitmapFromDxgiSurface実行していますが、API 呼び出しの完全なチェーンを理解していません。

編集 (MooseBoys への回答): これは、画面にピクセルを配置するための一般的な質問ではありません。ピクセルは既に 1 つの RenderTarget (CreateWicBitmapRenderTarget で作成され、BeginDraw/DrawGlyphRun/EndDraw で描画されたレンダー ターゲット) にあり、これらのピクセルを別の RenderTarget (実際の画面上のレンダー ターゲット) に移動したいと考えています。GDC の世界では、ある hdc から別の hdc にピクセルを移動する BitBlt のようなものを探します。D2Dの世界のプロトコルは何だろう。

4

0 に答える 0