2011-07-07 26 views
3

Windows上で生のRGB画像データ(必要に応じてBMPヘッダーを追加できます)をJPEGに変換します。 DLLなしでこれを行うことは可能ですか? 私は静的IJG jpeglibをコンパイルしようとしたが、私はVC++ 9を持っており、それだけでOpenCVのように、VC++ 10JPEGをDLLなしで圧縮

答えて

0

はい、いずれかの独自のJPEGエンコーダを書いたり使用する他のLIBのために動作します。

0

reference implementationは自由に利用でき、あらゆる種類のプロジェクトに使用できます。

また、GDI +を使用してJPEG画像を書き込むこともできます(Windowsにはこれ以上ないライブラリはありません)。

そのためには、書き込み可能なポインタを取得するためにBitmapLockBitsを作成し、データを書き込んで、UnlockBitsを作成してください。

画像がOpenGLからキャプチャされた場合は、RotateFlipにするか、逆さまにする必要があります。

PropertyItemを作成し、BitmapSetPropertyItemのメタデータを入力してください。

EncoderParametersを作成して初期化します。ここでは、品質などを設定します。

最後に、BitmapSaveと電話してください。

2

GDI +を使用してイメージをファイルに保存します。たとえば、ファイルに保存する方法については、http://msdn.microsoft.com/en-us/library/ms535407(VS.85).aspxを参照してください。 JPEGエンコーダを指定します。イメージをImageクラスに読み込むには、Bitmapクラス(Imageから継承)を使用できます。いくつかの方法が利用可能です:http://msdn.microsoft.com/en-us/library/ms536286(VS.85).aspx

GDI +にはWindows XP以降が付属しており、古いWindowsバージョン用に再配布できます。だから、おそらく新しいものをバンドルする必要はありません。

関連する問題