📄 picture.h
字号:
// Picture.h: interface for the CImageProcess class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PICTURE_H__66EC3FB4_4783_4CBA_9D6F_3C3DF660F288__INCLUDED_)
#define AFX_PICTURE_H__66EC3FB4_4783_4CBA_9D6F_3C3DF660F288__INCLUDED_
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
#define HAVE_BOOLEAN
#include "jpeglib.h"
#ifdef __cplusplus
}
#endif // __cplusplus
#include <setjmp.h>
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// 交易汉字包括:正常车、免征车、月票车、军警车、违章、车型、车道、
// 车队、收费员、价格、更改
// 闽、粤、军、警、浙、新、冀、晋、苏、黄、吉、琼、宁、皖、鲁、
// 豫、蓝、川、渝、贵、云、藏、陕、京、黑、港、台、津、内、桂、鄂、
// 青、湘、辽、沪、甘、赣、澳
// 交易汉字共65个,每个汉字占用72个字节,共4680字节
const UINT MAX_HZ_COUNT =4680;
// 每个汉字占用2个字节,最大字符个数为130
const UINT MAX_SYMBOL_COUNT =132;
// 定义每种单词的起始位置
const UINT ADDR_NORMAL =0; //正常车
const UINT ADDR_FREE =3; //免征车
const UINT ADDR_MONTH =6; //月票车
const UINT ADDR_ARMY_POLICE =9; //军警车
const UINT ADDR_VIOLATE =12; //违章
const UINT ADDR_CLASS =14; //车型
const UINT ADDR_LANE =16; //车道
const UINT ADDR_GROUP =18; //车队
const UINT ADDR_COLLECT =20; //收费员
const UINT ADDR_FARE =23; //价格
const UINT ADDR_MODIFY =25; //更改
const UINT ADDR_START_NO =27; //车牌汉字的起始位置
// 交易字符包括:0123456789/: ABCDEFGHIJKL
// MNOPQRSTUVWXYZ
// 交易字符共39个,每个字符占用32字节,共1248字节
const UINT MAX_ASCII_COUNT =1248;
// 定义英文字母的起始位置
const UINT ADDR_START_ASCII =13;
class CImageProcess
{
public:
CImageProcess();
void ProcessPicture(char *FileName,int Quality);
void CreateHZK();
private:
char GetHzIndex(int x,int y);
void GetASCII(char *pASCII,char *pStr,FILE *fp);
void GetHZK(char *pHZK,char *pHZ,FILE *fp);
void OverlayFare(UCHAR *pData,UCHAR *pStr);
void OverlayPlazaNO(UCHAR *pData);
void OverlayLaneNO(UCHAR *pData,UCHAR *pStr);
void OverlayTime(UCHAR *pData,UCHAR *pStr);
void OverlayCollectNO(UCHAR *pData,UCHAR *pStr);
void OverlayBusClass(UCHAR *pData,UCHAR cBusClass);
void OverlayBusType(UCHAR *pData,char nBusType);
void OverlayBusNO(UCHAR *pData,UCHAR *pStr);
void OverlayHZ(int X,int Y,unsigned char *pData,int iStart,int iEnd);
void OverlayASCII(int X,int Y,unsigned char *pData,int iIndex);
void CompressPicture(unsigned char *pData,char *FileName,int Quality);
// 收费站名称最多为10个汉字,每个汉字占用72个字节
char strPlaza[720]; //收费站名字库
UINT nPlazaLen; //收费站名称长度
char strHZ[MAX_HZ_COUNT]; //交易汉字字库
char strASCII[MAX_ASCII_COUNT]; //交易字符字库
BOOL bOverlayOK;
int iImageWidth;
};
#endif // !defined(AFX_PICTURE_H__66EC3FB4_4783_4CBA_9D6F_3C3DF660F288__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -