【发布时间】:2018-01-11 13:44:53
【问题描述】:
我需要在我的应用程序中加载 jpg 文件。我使用 libjpeg 保存 JPG(来自处理过的原始文件),效果很好。
但阅读它们是一个不同的问题。我得到了非常奇怪的结果,图像非常扭曲,有 12 列,大部分是灰度。
我按照这个例子做的,唯一的修改是如何将数据放入我的缓冲区(例子中缺少 put_scanline_someplace() 函数。
这是我的相关代码(我需要BGR格式的数据):
dest=0;
while(cinfo.output_scanline < cinfo.output_height)
{
jpeg_read_scanlines(&cinfo, buffer, 1);
src=0;
for(i=0;i<cinfo.output_width;i++)
{
image_buffer[dest*3+2]=buffer[src*3+0];
image_buffer[dest*3+1]=buffer[src*3+1];
image_buffer[dest*3+0]=buffer[src*3+2];
src++;
dest++;
}
}
这段代码有问题吗?
【问题讨论】:
标签: libjpeg