資源簡介
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? {
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個文件信息
評論
共有 條評論