質問: お世話になります。 現在、Direct2Dを使用したアプリの開発を行っています。(Win10/WPF/C++,C++/CLI,C#) やりたい事としては ・ファイルから画像を取得(5120x3840)、バッファ貯 ・上記ソースからID2D1Effect(m_Effect)で画像を加工 ・DrawImage(m_Effect ~~ ⇒表示中は30-60fpsで表示。 各エフェクトを調整、画像がリアルタイムで変更される。 ・表示されている画像をバイト配列で取得 ※これが出来ない です。 上記、表示、エフェクト当てまでは問題ないのですが、 表示している画像をバイト配列として取得がなかなか出来ません。 WPFへの表示の為D3DImageを介すのですが、その途中にDirect3D9も挟んでおり、 IDirect3DSurface9が作られているので、LockRectから取得出来るかと思いましたが、 エラーにより取得出来ません。(エラー内容は不明 ← これが困る) D3DImageから(ゴニョゴニョして)BitmapSourceを生成して取得は出来るのですが マネージの為10fpsを切ってしまうくらい遅くて使い物になりません。 どうにかバックバッファ等から直接バイト配列で画像データを取得する方法は無いでしょうか。 以上、よろしくお願いいたします。
回答: 最終的に、D3DImageを介さない方法になりました。 以上。