概述:前一篇博客中说到libjpeg-turbo的使用,有一些错误也在前篇博客中纠正了,现在呢,就用TurboJPEG API实现图片的解压,缩放,压缩。
1,直接上代码(简单粗暴,重要代码都加了注释,我就不多费口舌了)
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
#include <sys/stat.h>
#include <turbojpeg.h>
typedef unsigned char uchar;
typedef struct tjp_info {
int outwidth;
int outheight;
unsigned long jpg_size;
}tjp_info_t;
/*获取当前ms数*/
static int get_timer_now ()
{
struct timeval now;
gettimeofday(&now, NULL);
return(now.tv_sec * 1000 + now.tv_usec / 1000);
}
/*读取文件到内存*/
uchar *read_file2buffer(char *filepath, tjp_info_t *tinfo)
{
FILE *fd;
struct stat fileinfo;
stat(filepath,&fileinfo);
tinfo->jpg_size = fileinfo.st_size;
fd = fopen(filepath,"rb");
if (NULL == fd) {
printf("file not open\n");
return NULL;
}
uchar *data = (uchar *)malloc(<