電子書籍の厳選無料作品が豊富!

お世話になっています。

C+Win32APIでVC++6.0を使用してプログラムを作成しています。
質問はタイトルの通りです。
Jpegファイルの読み込みにはOleLoadPicture()を使用していましたが、DIBへの変換には一回裏画面に描画してGetPixelでデータを拾う程度しか思い当たりません。
できれば外部ライブラリなどを使わずに解決したいと思っているのですが、よい方法がなかなか見当たりません。

ご存知の方、ご教授いただければ幸いです。

A 回答 (3件)

★参考文献


・下のリンクを参考にして下さい。
http://www.sm.rim.or.jp/~shishido/graphics.html→『DIB/Waveとグラフィック・音声処理実験室』
http://www.sm.rim.or.jp/~shishido/windows.html→『Windowsプログラミング研究室』

関連:
http://oshiete1.goo.ne.jp/qa2662290.html→『画像処理のプログラミングを勉強したい!』回答者 No.3
http://oshiete1.goo.ne.jp/qa2643801.html→『C言語等での画像処理の勉強方法』回答者 No.3
・以上。おわり。

参考URL:http://www.sm.rim.or.jp/~shishido/
    • good
    • 0

その裏画面(メモリDCとメモリビットマップの事?)のビットマップをCreateDIBSectionなどで作成すれば、ピクセルを直接読み書き出来ます。


メモリビットマップに一度描画してから取得するという考え方はあっています。
    • good
    • 0

BitBltを使えば簡単にできます。


以下手順です。
1.適当なウインドウからDCを取得します。(私はデスクトップウインドウを使いました)
2.取得したDCと互換のDCをCreateCompatibleDCを使って2つ作成。
3.1つ目の互換DCにOleLoadPictureで読み込んだビットマップを関連付ける
4.DIBビットマップを作成して、2つ目の互換DCに関連付ける
5.BitBltでDIBビットマップにコピーする
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
しかし、当方DIBビットマップに関しては理解不足なもので、4番の意味がよく解りません。
最終的に、RGBデータをBYTE型の配列で管理したいのですが、再度ご教授いただけるでしょうか。

お礼日時:2006/12/25 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!