www.pudn.com > 20061010_WaterMark.rar > WaterMarkDlg.h


// WaterMarkDlg.h : header file 
// 
 
#if !defined(AFX_WATERMARKDLG_H__40AC3774_D832_4F4B_9FFE_7A7B528ECE38__INCLUDED_) 
#define AFX_WATERMARKDLG_H__40AC3774_D832_4F4B_9FFE_7A7B528ECE38__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Dib.h" 
///////////////////////////////////////////////////////////////////////////// 
// CWaterMarkDlg dialog 
 
class CWaterMarkDlg : public CDialog 
{ 
// Construction 
public: 
	void PutInWaterMessage(); 
	void SetWaterBitmap2Pixel(); 
	void SetBitmap2Pixel(); 
	void ShowBitmap(CString filename); 
	CWaterMarkDlg(CWnd* pParent = NULL);	// standard constructor 
 
// Dialog Data 
	//{{AFX_DATA(CWaterMarkDlg) 
	enum { IDD = IDD_WATERMARK_DIALOG }; 
	CStatic	m_pic; 
	//}}AFX_DATA 
 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CWaterMarkDlg) 
	protected: 
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support 
	//}}AFX_VIRTUAL 
 
// Implementation 
protected: 
	HICON m_hIcon; 
 
	// Generated message map functions 
	//{{AFX_MSG(CWaterMarkDlg) 
	virtual BOOL OnInitDialog(); 
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 
	afx_msg void OnPaint(); 
	afx_msg HCURSOR OnQueryDragIcon(); 
	afx_msg void OnOpenFile(); 
	afx_msg void OnTimer(UINT nIDEvent); 
	afx_msg void OnOpenWaterMark(); 
	afx_msg void OnWaterEmbed(); 
	afx_msg void OnPick_Up(); 
	afx_msg void OnSaveWEBitmap(); 
	afx_msg void OnOpenW_E_Bitmap(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
private: 
	void Embed2Data(CString s); 
	BYTE Operate_ByteOut(BYTE operate1,BYTE operate2); 
	void PickUpWaterMessage(long h,long w); 
	void Operate_Byte(BYTE &operate1,BYTE &operate2,BYTE m_operate); 
	void WaterBitmap2Data(); 
	void Bitmap2Data(); 
/////////////////////////////////////////////////////////////////// 
	RGBQUAD		**m_tOriPixelArray; //原始.位图数据 
	RGBQUAD		**m_watermarkdata;	//要水印.的位图数据 
	RGBQUAD		**m_waterEmbed;		//水印.嵌入后.的位图数据 
	RGBQUAD		**m_pickupwater;	//提取的水印.的位图数据 
/////////////////////////////////////////////////////////////////// 
	CString		filename,watermark;	 
	BOOL		Mark; 
	RECT		rect[3]; 
	BITMAP		bm[3]; 
	HBITMAP		hBitmap[3]; 
	HDC			hSrcDC[3]; 
	HDC			hDesDC[3]; 
	BOOL		show[3]; 
	CWnd		*hwnd[3]; 
 
	CDib		*m_dib; 
	CDib		*m_dib1; 
 
	long		ImageHeight,m_Ih; 
	long		ImageWidth,m_Iw; 
	long		WaterHeight,m_Wh; 
	long		WaterWidth,m_Ww; 
	long		m_pwh,m_pww;		//最后一次提取水印信息位图的高和宽 
	long		m_PIh,m_PIw;			//最后一次提取水印信息时宿主位图的高和宽 
 
	CEdit		*pEdit1,*pEdit; 
	CStatic		*pStatic,*pStatic1; 
	RECT		r,r1; 
 
	int			biBitCount,biBitCount1; 
	int			number; 
}; 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_WATERMARKDLG_H__40AC3774_D832_4F4B_9FFE_7A7B528ECE38__INCLUDED_)