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

📄 suijidlg.cpp

📁 基于变换域的信息隐藏技术
💻 CPP
字号:
// SUIJIDLG.cpp : implementation file
//

#include "stdafx.h"
#include "数字水印技术.h"
#include "SUIJIDLG.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSUIJIDLG dialog


CSUIJIDLG::CSUIJIDLG(CWnd* pParent /*=NULL*/)
	: CDialog(CSUIJIDLG::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSUIJIDLG)
	m_ijieshu = 16;
	m_lmin = 10;
	m_lmax = 100;
	m_d_r = 1.0;
	m_d1 = 0;
	m_d10 = 0;
	m_d11 = 0;
	m_d12 = 0;
	m_d13 = 0;
	m_d14 = 0;
	m_d15 = 0;
	m_d16 = 0;
	m_d2 = 0;
	m_d3 = 0;
	m_d4 = 0;
	m_d5 = 0;
	m_d6 = 0;
	m_d7 = 0;
	m_d8 = 0;
	m_d9 = 0;
	//}}AFX_DATA_INIT
}


void CSUIJIDLG::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSUIJIDLG)
	DDX_Text(pDX, IDC_EDIT2, m_ijieshu);
	DDV_MinMaxInt(pDX, m_ijieshu, 16, 16);
	DDX_Text(pDX, IDC_EDIT3, m_lmin);
	DDV_MinMaxLong(pDX, m_lmin, 0, 255);
	DDX_Text(pDX, IDC_EDIT4, m_lmax);
	DDV_MinMaxLong(pDX, m_lmax, 1, 255);
	DDX_Text(pDX, IDC_EDIT5, m_d_r);
	DDX_Text(pDX, IDC_SUIJI1, m_d1);
	DDX_Text(pDX, IDC_SUIJI10, m_d10);
	DDX_Text(pDX, IDC_SUIJI11, m_d11);
	DDX_Text(pDX, IDC_SUIJI12, m_d12);
	DDX_Text(pDX, IDC_SUIJI13, m_d13);
	DDX_Text(pDX, IDC_SUIJI14, m_d14);
	DDX_Text(pDX, IDC_SUIJI15, m_d15);
	DDX_Text(pDX, IDC_SUIJI16, m_d16);
	DDX_Text(pDX, IDC_SUIJI2, m_d2);
	DDX_Text(pDX, IDC_SUIJI3, m_d3);
	DDX_Text(pDX, IDC_SUIJI4, m_d4);
	DDX_Text(pDX, IDC_SUIJI5, m_d5);
	DDX_Text(pDX, IDC_SUIJI6, m_d6);
	DDX_Text(pDX, IDC_SUIJI7, m_d7);
	DDX_Text(pDX, IDC_SUIJI8, m_d8);
	DDX_Text(pDX, IDC_SUIJI9, m_d9);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSUIJIDLG, CDialog)
	//{{AFX_MSG_MAP(CSUIJIDLG)
	ON_BN_CLICKED(IDC_BUTTON1, OnChanSheng)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSUIJIDLG message handlers

void CSUIJIDLG::randxx(double *p, int n, long min, long max)
{
   int i=0,m;double s,u,v,temp;
   s=65535.0;u=2053.0;v=13849.0;
   while(i<n)
   {
	   m_d_r=u*m_d_r+v;
	   m=(int)(m_d_r/s);
	   m_d_r-=m*s;
	   temp=m_d_r/s*100.0;
	   if((temp>(double)min)&&(temp<(double)max))
	   {
		   p[i++]=temp;
	   }
   }

}

void CSUIJIDLG::OnChanSheng() 
{
	// TODO: Add your control notification handler code here
    UpdateData(true);
    double *chan=new double[m_ijieshu];
	randxx(chan,m_ijieshu,m_lmin,m_lmax);
    m_d1=(int)chan[0];
	m_d2=(int)chan[1];
	m_d3=(int)chan[2];
	m_d4=(int)chan[3];
	m_d5=(int)chan[4];
	m_d6=(int)chan[5];
	m_d7=(int)chan[6];
	m_d8=(int)chan[7];
	m_d9=(int)chan[8];
	m_d10=(int)chan[9];
	m_d11=(int)chan[10];
	m_d12=(int)chan[11];
	m_d13=(int)chan[12];
	m_d14=(int)chan[13];
	m_d15=(int)chan[14];
	m_d16=(int)chan[15];
    delete[]chan; 
	UpdateData(false);
	
}

⌨️ 快捷键说明

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