📄 embed.h
字号:
#if !defined(AFX_EMBED_H__08FC68A8_8311_4C93_9219_A8F4F648F4DE__INCLUDED_)
#define AFX_EMBED_H__08FC68A8_8311_4C93_9219_A8F4F648F4DE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Embed.h : header file
//
#include "Dib.h"
/////////////////////////////////////////////////////////////////////////////
// CEmbed dialog
class CEmbed : public CDialog
{
// Construction
public:
CEmbed(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CEmbed)
enum { IDD = IDD_EMBED_DIALOG };
int m_encrypt;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CEmbed)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
public:
void SetImagePixel(CDC *pdc,int x_start,int y_start,int height,int width,RGBQUAD **m_imagedata,float m,float n);//点亮水印后的图像m,n控制缩放比例
void ShowText(CString s,RECT re,CEdit *edit);
void Encrypt();
protected:
void LSB_watermarking(int i,int j,BYTE a,BYTE b,BYTE c);//将C高四位给A低四位,低四位给B低四位,i,j是像素点坐标
RGBQUAD **m_ImageData;
RGBQUAD **m_WaterImageData;
RGBQUAD **m_WaterEmbedData;
RGBQUAD **m_WaterEncryptData;
void GetImageData();//把图像转换成数据存储
void GetWaterImageData();//把水印图像转换成数据存储
CString ImageFilename;
CString WaterImageFilename;
CString str1,str2;//显示位图长宽
// CString watername;
RECT rect[3];
BITMAP bm[3];
HBITMAP hBitmap[3];
HDC hSrcDC[3];
HDC hDesDC[3];
BOOL show[3];
CWnd *m_hwnd[3];
CDib *m_dib,*m_dib1;
long ImageHeight;
long ImageWidth;
long WaterImageHeight;
long WaterImageWidth;
CEdit *m_edit1,*m_edit2;
RECT r,r1;
int biBitCount,biBitCount1;
int num;//没有被0填充像素点数
int a11,a12,a21,a22;
int T,N;
BOOL flag;//是否点了加密按钮
// Generated message map functions
//{{AFX_MSG(CEmbed)
afx_msg void OnOpenImage();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnOpenWaterImage();
afx_msg void OnClearAll();
afx_msg void OnEmbedWaterImage();
afx_msg void OnSaveWaterMarking();
afx_msg void OnSecret();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_EMBED_H__08FC68A8_8311_4C93_9219_A8F4F648F4DE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -