使用libjpeg将原始RBG值保存到JPG

时间:2016-11-06 23:11:12

标签: c++ c++11 jpeg libjpeg

我有一个画布,由colorData

类型的2D数组表示

类colorData只保存RGB值或每个像素。

我一直在研究使用libjpeg编写jpg的人的例子,但似乎没有人使用RGB值。

有没有办法使用libjpeg将原始RGB值保存到jpeg?或者更好的是,是否有使用jpeg数据的原始RGB数据的代码示例?

1 个答案:

答案 0 :(得分:0)

查看libjpeg源代码中的example.c。它给出了如何使用RGB数据编写JPEG文件的完整示例。

该示例使用缓冲区变量image_buffer以及高度和宽度变量image_widthimage_height。您需要调整它以复制ColorData类中的RGB值并将它们放入图像缓冲区(这可以一次完成一行)。

使用RGB数据填充一个字节数组(每个像素3个字节),然后在调用row_buffer[0]之前将jpeg_write_scanlines指向数组。