c语言把一维数组保存成jpeg,怎么做比较方便啊?

在VC环境下用C语言做信号处理得到一个存储图像数据的一维无符号字符型数组,数组的每一个元素存储一个灰度值,代表一个像素。现在我想把这个一维数组保存成一个jpeg(或者bmp)格式的图像文件,

百度到一些图像处理的库像opencv, Cimag,但不知道哪个适合解决这个问题以及怎么用。
用C语言的方法怎么样做比较方便?C++也可以,但最好是C。

根据bmp的文件格式,自己写个保存函数,不难