我想在Windows上将原始的RGB图像数据(如果需要可以添加BMP头)转换成JPEG格式。 有没有DLL可以这样做? 我试图静态编译IJG jpeglib,但我有VC + + 9,它只适用于VC + + 10
使用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版本。 所以你可能不需要捆绑任何新的东西。
是的,要么写自己的JPEG编码器,要么使用其他库,如OpenCV。 当你静态链接它们时,请注意它的许可要求
参考实现是免费提供的,可用于任何类型的项目。
此外,您可以使用GDI +编写JPEG图像(无需任何Windows尚未拥有的额外库)。
为此,创建一个Bitmap
, LockBits
来获得一个可写的指针,写入数据和UnlockBits
。
如果图像是从OpenGL捕获的,则必须RotateFlip
它,否则将会颠倒。
现在创建一个PropertyItem
并填入元数据,然后SetPropertyItem
在你的Bitmap
。
创建并初始化一个EncoderParameters
,在这里你设置质量和内容。
最后,在你的Bitmap
上调用Save
。