我希望能够通过api在Windows上加载/保存jpeg文件,特别是gdi32.dll,因为它看起来普遍存在于所有版本的Windows中。
但我无法从每种颜色4个字节的像素数组中找到有关如何执行此操作的任何信息(rgba,bgra,rgb可以,因为jpeg不支持alpha等。 )
对外部库或gdi +不感兴趣。 gdi32应该有能力,但我似乎无法找到有关如何实现它的足够信息。
答案 0 :(得分:2)
普通GDI对JPEG没有任何支持。
如果你不赞成使用GDI之外的库,那么你将不得不编写自己的JPEG库。请允许我建议您重新考虑您的要求。
答案 1 :(得分:2)
我将忽略你拒绝使用gdi32.dll以外的任何内容,因为这种要求不太可能帮助任何人,正如@David Heffernan所说,gdi32.dll中没有JPEG支持。
有很多方法可以加载/保存winapi中内置的JPEG图片,并且一直支持Windows 2000(以及之前的版本......)。
OleLoadPicture
/ OleSavePicture
- 虽然我不确定以这种方式保存自己的JPEG文件是否非常容易。Gdiplus::Image
允许加载&保存JPEG文件。答案 2 :(得分:1)
GDI是图形设备接口。它的职责包括将原语渲染到屏幕或屏幕外设备上下文。编码器和解码器不包括在内。
标准Windows编码器和解码器通过Windows Imaging Component提供。从Windows XP SP2开始提供此组件。它也适用于Windows应用商店应用。