2011-07-07 130 views
3

我想在Windows上將原始RGB圖像數據(如有必要,可以添加BMP頭)轉換爲JPEG格式。沒有DLL可以這樣做嗎? 我試着靜態編譯IJG jpeglib,但我有VC++ 9,它只適用於VC++ 10JPEG壓縮不包含DLL

回答

0

是的,要麼寫自己的JPEG編碼器,要麼使用其他庫,如OpenCV。在靜態鏈接它們時請注意其許可要求

0

reference implementation是免費提供的,可用於任何類型的項目。另外,您可以使用GDI +編寫JPEG圖像(無需任何Windows尚未擁有的額外庫)。

爲此,創建一個Bitmap,LockBits以獲取可寫指針,寫入數據和UnlockBits

如果圖像是從OpenGL捕獲的,那麼它必須是RotateFlip它,否則它會顛倒。

現在創建一個PropertyItem並填寫元數據,然後在Bitmap上填寫SetPropertyItem

創建並初始化一個EncoderParameters,在這裏您設置質量等等。

最後,請致電Save在您的Bitmap