2011-11-14 7 views
1

LPPICTUREに画像を読み込んでOleLoadPictreと入力してウィンドウに表示しましたが、実際に行う必要があるのは画像をピクセルの行列に変換することです操作して画像ファイルに戻すことができます。C++でピクセルの行列に画像を読み取る

OleLoadPicture使用して、私はの主要な画像フォーマットの事実上すべてを読むことができますよ。個々のピクセルにアクセスできる場合は、ループしてそれらをすべて抽出できます。その他の関連質問に

、人々は、OpenCVのと太陽の下ですべてを行う他の高度に発達したライブラリなどのかさばるのライブラリを使用して提案しているが、私はできるだけ軽量私の解決策を維持することを好むだろう。私はすでにピクセル用の基本構造体を作成しています。私は自分自身で操作を行うことができてうれしいです。

私はImageMagicライブラリをMagiC++で見てきました。それはかなり良いようだが、ただのピクセルを抽出し、バック任意の画像形式に画像を保存するために、WindowsのAPIを使用したソリューションが存在する場合、それは私が仮定最高/最軽量のだろう。

答えて

1

OleLoadPictureは、IPictureのインスタンスを提供します。 IPictureインスタンスが保持するHBITMAPを取得するには、IPicture::get_Handleを使用します。最後に、GetDIBitsを使用してピクセルデータを取得します。

そのためのサンプルコードはhereです。 MFCからプレーンWinAPIに変換すると、ピクセルデータが得られるはずです。

関連する問題