linux 下 读取 jpeg 图片 - 代码片段
来源:互联网 发布:徕卡全站仪数据导出 编辑:程序博客网 时间:2024/05/05 17:16
static unsigned char* copyScanline(unsigned char *currPtr, unsigned char *from, int cnt){ memcpy((void*)currPtr, (void*)from, cnt); currPtr -= cnt; return currPtr;}unsigned char* Image::loadJpegFile(const char *filename){ struct jpeg_decompress_struct cinfo; struct jpeg_error_mgr jerr; cinfo.err = jpeg_std_error(&jerr); jpeg_create_decompress(&cinfo); FILE *infile = fopen(filename, "rb"); if( infile == NULL) { fprintf(stderr, "can't open %s\n", filename) ; return NULL; } jpeg_stdio_src(&cinfo, infile); jpeg_read_header(&cinfo, TRUE); cinfo.out_color_space = JCS_RGB; jpeg_start_decompress(&cinfo); int row_stride = cinfo.output_width * cinfo.output_components; JSAMPARRAY rowbuffer = (*cinfo.mem->alloc_sarray) ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1); this->width = cinfo.output_width; this->height = cinfo.output_height; this->components = cinfo.output_components; this->size = this->height * this->width * this->components; this->pixels = (unsigned char *) malloc(this->size); unsigned char *currPtr = this->pixels; currPtr = this->pixels + row_stride * (cinfo.output_height-1); while(cinfo.output_scanline < cinfo.image_height) { jpeg_read_scanlines(&cinfo, rowbuffer, 1); currPtr = copyScanline(currPtr, rowbuffer[0], row_stride); } jpeg_finish_decompress(&cinfo); jpeg_destroy_decompress(&cinfo); fclose(infile); return this->pixels;}
0 0
- linux 下 读取 jpeg 图片 - 代码片段
- linux下jpeg图片Exif标识
- Jpeg图片属性读取EXIF
- 添加图片代码片段
- Linux下对JPEG图片进行简单压缩
- linux下bmp转化为jpeg程序源代码, jpeg图片压缩
- DELPHI如何读取数据库中jpeg图片
- JPEG图片扩展信息读取与修改
- mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(下)
- Linux下jpeg解码方法
- linux下读取bmp图片文件头
- COM实现读取outlook附件代码片段
- 读取七位数的代码片段
- ResourceBundle读取properties文件 代码片段
- 在linux终端模式下显示JPEG格式图片(参考了其他资料)
- linux下usb摄像头采集的YUYV格式转换成JPEG格式的图片
- linux下usb摄像头采集的YUYV格式转换成JPEG格式的图片
- mac下PIL处理jpeg图片
- backbond是什么
- 优先级队列
- 利用nutch、hbase和solr搭建搜索引擎
- 缩进与对齐——正确地使用Tab和空格
- form表单提交数据显示乱码
- linux 下 读取 jpeg 图片 - 代码片段
- 浅析C#调用WebService实例和开发
- bootstrap 基础知识学习(导航+其他)
- Unity3d中的属性(Attributes)整理
- 算法五:图的割点和桥
- 安卓各种设置页面打开
- APP推广需要克服的几大困难
- 安装Oracle 11g client(32bit)错误分析(后续)
- <C/C++>USB设备注册与插拔监听