2011-07-07 105 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