资源简介
VC 2015 MFC 图片列表ListCtrl

代码片段和文件信息
/* @(#)uc_image_indep.c
*/
#include “stdafx.h“
#include
#include
#include
#include
#include
#include “uc_image.h“
#undef FAR
#define XMD_H
#ifdef _MSC_VER
#define HAVE_BOOLEAN
#endif
#ifndef INCLUDED_JPEGLIB_H
#ifdef __cplusplus
extern “C“ {
#endif
#include “jpeglib.h“ // www.ijg.org‘s jpeg library
#ifdef __cplusplus
};
#endif
#define INCLUDED_JPEGLIB_H
#endif
METHODDEF(void)
my_output_message (j_common_ptr cinfo)
{
char buffer[JMSG_LENGTH_MAX];
/* Create the message */
(*cinfo->err->format_message) (cinfo buffer);
return ;
}
GLOBAL(struct jpeg_error_mgr *)
jpeg_my_error (struct jpeg_error_mgr * err)
{
jpeg_std_error(err);
err->output_message = my_output_message;
return err;
}
static int file_ext_to_format(const char* file)
{
int i;
char tmp[255]={0};
char* suffix;
char* ext[]=
{
“jpg“
“jpeg“
“bmp“
};
int fmt[]={
UC_JPEG_FORMAT
UC_JPEG_FORMAT
UC_BMP_FORMAT
};
strncpy(tmpfile255);
suffix = strrchr(tmp‘.‘);
if(suffix != NULL)
suffix++;
if(suffix == NULL)
return UC_UNSUP_FORMAT;
// 把后缀转换为小写
i=0;
do{
tmp[i++] = tolower(*suffix++);
}while(*suffix);
tmp[i] = ‘\0‘;
// 从后缀得到文件类型
for(i=0; i {
if(strcmp(tmpext[i]) == 0)
return fmt[i];
}
return UC_UNSUP_FORMAT;
}
struct my_error_mgr
{
struct jpeg_error_mgr pub;
jmp_buf setjmp_buffer;
};
static void my_error_exit(j_common_ptr cinfo)
{
struct my_error_mgr* myerr_p = (struct my_error_mgr*)cinfo->err;
(*cinfo->err->output_message)(cinfo);
longjmp(myerr_p->setjmp_buffer1);
}
static int save_jpeg_file(uc_image_t* imageconst char* file)
{
int quality = image->m_nQuality;
struct jpeg_compress_struct cinfo;
struct my_error_mgr jerr;
FILE * outfile;
JSAMPROW row_pointer[1];
int row_stride;
if(quality>100||quality<0)
quality=80;
cinfo.err = jpeg_my_error(&jerr.pub);
jpeg_create_compress(&cinfo);
if((outfile = fopen(file “wb“)) == NULL)
{
// can not open file
return -1;
}
if(setjmp(jerr.setjmp_buffer))
{
jpeg_destroy_compress(&cinfo);
fclose(outfile);
return -1;
}
jpeg_stdio_dest(&cinfo outfile);
cinfo.image_width = image->m_width;
cinfo.image_height = image->m_height;
cinfo.input_components = 3;
cinfo.in_color_space = JCS_RGB;
jpeg_set_defaults(&cinfo);
jpeg_set_quality(&cinfoqualityTRUE);
jpeg_start_compress(&cinfoTRUE);
row_stride = image->m_width*cinfo.input_components;
while(cinfo.next_scanline < cinfo.image_height)
{
row_pointer[0] =
&image->m_data_p[cinfo.next_scanline*row_stride];
(void)jpeg_write_scanlines(&cinfo row_pointer 1);
}
jpeg_finish_compress(&cinfo);
fclose(outfile);
jpeg_destroy_compress(&cinfo);
return 0;
}
static int load_jpeg_file(uc_image_t* imageconst char* file)
{
stru
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-06 22:30 vc 2015缩图\
目录 0 2017-04-06 22:30 vc 2015缩图\JPEGLIB\
文件 1073 2002-08-12 09:45 vc 2015缩图\JPEGLIB\BASIC.H
文件 2641 1997-09-18 17:50 vc 2015缩图\JPEGLIB\JCONFIG.H
文件 13812 2004-03-12 14:10 vc 2015缩图\JPEGLIB\JMORECFG.H
文件 39093 2008-08-19 11:32 vc 2015缩图\JPEGLIB\JPEGFILE.CPP
文件 7457 2008-08-19 11:32 vc 2015缩图\JPEGLIB\JPEGFILE.H
文件 51450 2004-03-12 14:10 vc 2015缩图\JPEGLIB\JPEGLIB.H
文件 240054 2001-07-11 15:42 vc 2015缩图\JPEGLIB\JPEGLIB2.LIB
文件 1138 2008-04-17 10:05 vc 2015缩图\JPEGLIB\uc_image.h
文件 6018 2007-12-24 11:15 vc 2015缩图\JPEGLIB\uc_image_indep.cpp
文件 3295 2007-12-24 11:16 vc 2015缩图\JPEGLIB\uc_image_win.cpp
目录 0 2017-04-06 23:12 vc 2015缩图\lib\
文件 2924 2007-12-24 11:08 vc 2015缩图\lib\CtrlModule.cpp
文件 1065 2001-07-21 17:16 vc 2015缩图\lib\CtrlModule.h
文件 5200 2008-08-19 12:56 vc 2015缩图\lib\CzyDetba
文件 1352 2017-04-06 23:12 vc 2015缩图\lib\CzyDetba
文件 2446 2007-12-20 14:04 vc 2015缩图\lib\DataDefine.h
文件 8892 2008-04-16 17:18 vc 2015缩图\lib\DataStructDef.h
文件 1160 2003-09-23 17:29 vc 2015缩图\lib\SYSTEMSETTING.CPP
文件 1929 2007-05-14 18:41 vc 2015缩图\lib\SYSTEMSETTING.H
文件 1234 2003-11-16 22:56 vc 2015缩图\lib\ShareSendData.cpp
文件 577 2003-11-19 15:32 vc 2015缩图\lib\ShareSendData.h
目录 0 2017-04-06 23:23 vc 2015缩图\zoomimage\
目录 0 2017-04-06 23:22 vc 2015缩图\zoomimage\.vs\
目录 0 2017-04-06 23:22 vc 2015缩图\zoomimage\.vs\zoomimage\
目录 0 2017-04-06 23:22 vc 2015缩图\zoomimage\.vs\zoomimage\v14\
文件 20992 2017-04-06 23:22 vc 2015缩图\zoomimage\.vs\zoomimage\v14\.suo
文件 241664 2002-07-11 14:32 vc 2015缩图\zoomimage\CJ60Lib.dll
文件 499793 2002-03-11 19:50 vc 2015缩图\zoomimage\CJ60Libd.dll
文件 243798 2002-03-08 16:53 vc 2015缩图\zoomimage\CJ60Libd.lib
............此处省略24个文件信息
相关资源
- 基于mfc的多线程文件传输
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC++实现CMD命令执行与获得返回信息
- VC助手 VC6.0助手
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- VC++基于OpenGL模拟的一个3维空间模型
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- 基于VC++的SolidWorks二次开发SolidWorks
- 2015西北大学计算机复试回忆(附机试
- 西北大学2015年计算机网络复试真题回
- VC6 USB开发源码
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- VC操作SQLSERVER数据库
- aes加解密(vc源程序)
- vc_串口通讯
- 吕鑫vc6c++数据结构视频源码
- 吕鑫:VS2015之博大精深的0基础C语言视
评论
共有 条评论