• 大小: 403KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签: VC  2015  MFC  

资源简介

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\CzyDetbase.cpp
     文件        1352  2017-04-06 23:12  vc 2015缩图\lib\CzyDetbase.h
     文件        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个文件信息

评论

共有 条评论