📄 dlghuffman.h
字号:
#if !defined(AFX_DLGHUFFMAN_H__DD963955_0C2E_4E53_A64B_06680CA34E2E__INCLUDED_)
#define AFX_DLGHUFFMAN_H__DD963955_0C2E_4E53_A64B_06680CA34E2E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgHuffman.h : header file
//
#define HUF_HEADER_MARKER ((WORD)('H'<<8) | 'F')
/////////////////////////////////////////////////////////////////////////////
// CDlgHuffman dialog
typedef struct
{ WORD wManufacturer;
WORD bVersion;
WORD wHeight;
WORD wWidth;
WORD wSize;
WORD wItemNum;
WORD wReserved;
}HUFHEADER;
typedef struct
{
WORD GrayValue;
short unsigned int parent,lchild,rchild;
}HUFCODEBOOK;
typedef struct
{ float freq;
BYTE GrayValue;
short unsigned int parent,lchild,rchild;
}HuffmanTree;
class CDlgHuffman : public CDialog
{
// Construction
public:
unsigned int m_iColorNum;
HuffmanTree *m_fFreq;
LPSTR m_lpDIB;
LPSTR m_lpDIBBits;
long m_lLineBytes;
unsigned int m_height; //图象的高度
unsigned int m_width; //图象的宽度
CString *m_strCode;
CDlgHuffman(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDlgHuffman)
enum { IDD = IDD_DLG_Huffman };
CListCtrl m_lstTable;
double m_dEntropy;
double m_dAvgCodeLen;
double m_dEfficiency;
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDlgHuffman)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDlgHuffman)
virtual BOOL OnInitDialog();
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DLGHUFFMAN_H__DD963955_0C2E_4E53_A64B_06680CA34E2E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -