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

📄 watermarkdlg.h

📁 程序完成数字图像的加密解密过程
💻 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_)

⌨️ 快捷键说明

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