⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileapi.h

📁 基于块方向的图像无损压缩代码
💻 H
字号:


#include "windows.h"
#include <sys\types.h>
#include <sys\stat.h> 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

			  
#define SCAN_RICOH 0
		
#define FORM_ENROLL 0                
#define FORM_LATENT 1


#define INK_BLACK 0 
#define INK_RED   1
#define INK_LIVE 2
	  
#define MAX_INK_TYPE 3
	  
#define MAX_ID_NUMBER 9  

#define MAX_STRN_LEN 128

	
#define IMAGE_RTHUMB  0
#define IMAGE_RINDEX  1
#define IMAGE_RMIDDLE 2
#define IMAGE_RRING       3
#define IMAGE_RLITTLE 4
#define IMAGE_LTHUMB  5
#define IMAGE_LINDEX  6
#define IMAGE_LMIDDLE 7
#define IMAGE_LRING       8
#define IMAGE_LLITTLE 9
#define IMAGE_PRINTS  10
#define IMAGE_TEXT        11
#define IMAGE_DAT         12  
#define IMAGE_LATENT  13
#define IMAGE_IMG0        14
#define IMAGE_IMG1        15
#define IMAGE_IMG2        16
#define IMAGE_IMG3        17
#define IMAGE_IMG4        18
#define IMAGE_IMG5        19
#define IMAGE_IMG6        20
#define IMAGE_IMG7        21
#define IMAGE_IMG8        22
#define IMAGE_IMG9        23      
#define IMAGE_GRP         24

/*------------------------------*.FRM structures-------------------------------------*/                         
typedef struct date{
	char month;
	char day;
	char year;
	} MYDATE;           
	
typedef struct page{
	float width;
	float height;
	float margin_top;
	float margin_bot;
	float margin_left;
	float margin_right;
	}PAGE_FORMAT;
	
typedef struct data_size{
	short width;
	short height;
	BYTE depth;
	short resolution;
	}DATA_SIZE;     
				   
typedef struct data_comp{
	unsigned short  compressed;
	BYTE  comp_type;
	BYTE comp_depth;
	short comp_resolution;
	long  comp_length;
	}DATA_COMP;
	
typedef struct image_loc{
	char      image_type;
	unsigned short    image_exist;
	float     image_left;
	float     image_top;
	DATA_SIZE size;
	DATA_COMP compress;
	}IMAGE_LOC;
	
	
typedef struct form_tp{
	char        version;
	MYDATE        create_date;
	char        FormName[15]; 
	BYTE            FormType;
	PAGE_FORMAT form; 
	IMAGE_LOC   text;
	IMAGE_LOC   fp[10];
	IMAGE_LOC   image[10];
	}FORM_TYPE;       
		       
/*----------------------------------File head--------------------------------*/

typedef struct data_loc{
	char image_type;  
	char image_exist;
	long image_offset;
	long image_length;
	}DATA_LOC;
			       
typedef struct id{   
	char version;
	BYTE image_type;
	MYDATE create_date;  
	BYTE scan_type;
	char form_name[15];
	BYTE ink_type;
	char idnum[MAX_ID_NUMBER];
	}DATA_ID;/*24 bytes*/  
	
typedef struct img_file_head{
	DATA_ID   id;
	DATA_SIZE datasize;
	DATA_COMP comp;
	}IMG_FILE_HEAD; /*32 bytes*/
	
typedef struct grp_file_head{
	DATA_ID  id;
	DATA_LOC text;
	DATA_LOC fp[10];
	DATA_LOC image[10];
	}GRP_FILE_HEAD;
											   
/*---------------------------------*.sdv file structure--------------------------------*/
typedef struct frect{
	float left;
	float top;
	float bottom;
	float right;
	}FRect;
	
	      
      
typedef struct file_path{
	char WorkDir[MAX_STRN_LEN];
	char ScnImgDir[MAX_STRN_LEN];
	char FpDir[MAX_STRN_LEN];
	char TextDir[MAX_STRN_LEN];
	char ImageDir[MAX_STRN_LEN];
	char DatDir[MAX_STRN_LEN];
	char CfgDir[MAX_STRN_LEN];    
	char SdvDir[MAX_STRN_LEN];
	char FrmDir[MAX_STRN_LEN];
	}FILE_PATH;

typedef struct scn_hw{
	char  scanner_type;
	short   DPImin;
	short   DPImax;
	FRect scan_area_max;
	unsigned short  ADFexist;
	BYTE  DepthMin;
	BYTE  DepthMax;
	BYTE  BrightMin;
	BYTE  BrightMax;
	BYTE  ContrastMin;
	BYTE  ContrastMax;
	BYTE  ThresMin;
	BYTE  ThresMax;
	}SCN_HW;

typedef struct scn_sw{
	short   DefaultDPI;
	BYTE DefaultDepth;
	BYTE DefaultScnType;
	BYTE DefaultInkType;
	BYTE DefaultBright[MAX_INK_TYPE];
	BYTE DefaultContrast[MAX_INK_TYPE];
	BYTE DefaultThres[MAX_INK_TYPE];
	char DefaultFormName[15];
	BYTE DefaultScnMode;
	}SCN_SW;


typedef struct scan_dev{
	char      version;
	char      stationID[MAX_ID_NUMBER];
	MYDATE      create_date;
	SCN_HW    hardware;
	SCN_SW    software;
	FILE_PATH path;
	}SCAN_DEV;
	
#define MAXMEANS      3

#define MEANS_0           "抢劫"
#define MEANS_1           "盗窃"                                        
#define MEANS_2           "流窜"
		  
	
void WINAPI appCreateGrpHdrStru(GRP_FILE_HEAD *GrpHdr);
BOOL SaveCompressedFile(DWORD BarCode,BYTE FingerNumber,BOOL FpValid);
BOOL UpdateCompressedFile(DWORD BarCode,BYTE FingerNumber);
BOOL ReadCompressedFileFromDB(DWORD BarCode,BYTE m_FingerNo,BYTE *CompressType);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -