• ベストアンサー

スクリーンの画像をメモリに読み込みたい

今、スクリーンに表示されている画像をそのままメモリに読み込んで ピクセル毎に演算処理をするようなプログラムを書きたいのですが どうすればいいでしょうか。 できれば、なるべく高速な方法がいいです。 ちなみにVC++2005です。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★アドバイス ・『GetDC(NULL)』として画面全体のデバイス・コンテキストを取得します。  その後に取得したデバイス・コンテキストからメモリ・デバイス・コンテキストを作成します。  あとはご自由に演算して下さい。 ・以上。

参考URL:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpgdi/html/_win32_getdc.asp
Azure3225
質問者

お礼

すみません、CreateDIBSectionを使用したら無事にできました。 ありがとうございました。

Azure3225
質問者

補足

迅速な解答ありがとうございます。 CreateCompatibleDCでメモリデバイスコンテキストは作成できました。 恐らく、画面全体のdcからメモリdcにbitbltか何かを使ってコピーするということでしょうか。 そうだとすると、メモリdcにコピーしたあと、どこに画像情報が含まれているのかわからないのですが。

その他の回答 (1)

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

> できれば、なるべく高速な方法がいいです。 GetPixelとかすると異常に遅くなりますので、 メモリにブロック転送してメモリ操作することをお勧めします。

Azure3225
質問者

お礼

無事にできました。ありがとうございました。

Azure3225
質問者

補足

お早い回答ありがとうございます。 そうですね、1つ1つ取得すると遅くなりそうなので 一度に転送したいのですがその方法がわかりません。