jpeg库下载地址:
http:
交叉编译三部曲:
A ./configure --host=arm-linux-gcc --prefix=/home/flying/jpeg-install
B make
C make install
jpeg库是解压jpeg/jpg图片或将图片压缩为jpeg/jpg格式所用到的库,使用起来比较简单!
jpeg/jpg解码过程:
1. 创建jpeg对象和错误处理对象
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
2. 将错误处理对象绑定到jpeg对象上
EXTERN(struct jpeg_error_mgr *) jpeg_std_error
JPP((struct jpeg_error_mgr * err));
3. 初始化jpeg对象
#define jpeg_create_compress(cinfo) \
jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \
(size_t) sizeof(struct jpeg_compress_struct))
4. 指定解压数据源(有两种方式)
a. EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo, const unsigned char * inbuffer, unsigned long insize));
参数一: jpeg对象地址
参数二: 储存jpeg数据源缓冲区
参数三: 缓冲区数据源大小
b. EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile));
参数一: jpeg对象地址
参数二: 要解压的jpeg图片的文件指针
5. 填充cinfo对象的缺省信息,常见的可用信息包括图像的
宽: cinfo.image_width,
高: cinfo.image_height,
色彩空间: cinfo.jpeg_color_space,
颜色通道数: cinfo.num_components等。
EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo,
boolean require_image));
6. 为解压设定参数**(依情况而定)**
比如解压的图片与原图的缩放比例为1/