📄 postioninfo.cpp
字号:
#include "stdafx.h"
#include "source10.h"
#include "postionInfo.h"
#include "SetScanner.h"
#include "Scanner.h"
#include "Settings.h"
#include "Resource.h"
#include "ViewWnd.h"
#include "const.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CViewWnd *pViewWnd;
extern CScanner *pScanner;
extern CSettings *m_pSettingsWindow;
extern char InitDir2[100];
//extern CSettings *m_pSettingsWindow;
/////////////////////////////////////////////////////////////////////////////
// CpostionInfo dialog
CpostionInfo::CpostionInfo(CWnd* pParent /*=NULL*/)
: CDialog(CpostionInfo::IDD, pParent)
{
// CString str2;
//{{AFX_DATA_INIT(CpostionInfo)
//}}AFX_DATA_INIT
//显示扫描校正方式
char str[36];
int Jzmd=GetPrivateProfileInt("ScanCai_Mod","ScnCaiMod",1,InitDir2);
switch (Jzmd)
{
case 0: //底层校正扫描
m_sJZModeD="底层校正扫描";
break;
case 1: //底层校正精扫描
m_sJZModeD="底层校正精扫描";
break;
case 2: //校正参数扫描
m_sJZModeD="校正参数扫描";
break;
case 3: //校正参数精扫描
m_sJZModeD="校正参数精扫描";
break;
case 4: //不校正扫描
m_sJZModeD="不校正扫描";
break;
case 5: //感光校正参数扫描
m_sJZModeD="感光校正参数扫描";
break;
case 6: //偏移校正参数扫描
m_sJZModeD="偏移校正参数扫描";
break;
case 7: //增益校正参数扫描
m_sJZModeD="增益校正参数扫描";
break;
default:
m_sJZModeD="校正参数扫描";
break;
}
//显示图像增强状态(缺省不增强)
// sprintf(str, "%d", 0);
//Write
int itemp=GetPrivateProfileInt("Image_Enah","Enah_Enable",1,InitDir2);
if (itemp == 0 )
{
m_sEnahD="不增强";
}
else
{
m_sEnahD="增强";
}
GetPrivateProfileString("file type","type","真彩色",str,36,InitDir2);
m_sType=_T(str);
GetPrivateProfileString("scan type","type","Twain扫描",str,36,InitDir2);
m_sScanType=_T(str);
GetPrivateProfileString("huigui type","type","零点位置",str,36,InitDir2);
m_sHuiGuiType=_T(str);
pScanner->m_nDPI= GetPrivateProfileInt("resoultion","reso",500,InitDir2);
m_nRd=pScanner->m_nDPI;
pScanner->m_nColor= GetPrivateProfileInt("color num","color",16777216,InitDir2);
GetPrivateProfileString("scan unit","unit","英寸",str,36,InitDir2);
m_nUNIT=_T(str);
channel=GetPrivateProfileInt("xianzhen","channel",42,InitDir2);
if(channel==44)//红色通道
{
m_sChannel="红色通道";
}
if(channel==42)//绿色通道
{
m_sChannel="绿色通道";
}
if(channel==41)//蓝色通道
{
m_sChannel="蓝色通道";
}
if(m_nUNIT=="英寸")
{
m_nX10=(double)((int)(pViewWnd->m_SelectZoom.left*10/FuMian*100)/100.0);
m_nY10=(double)((int)(pViewWnd->m_SelectZoom.top*10/FuMian*100)/100.0);
m_nWidth1=(double)((int)((pViewWnd->m_SelectZoom.right-pViewWnd->m_SelectZoom.left)*10/FuMian*100)/100.0);
m_nLength1=(double)((int)((pViewWnd->m_SelectZoom.bottom-pViewWnd->m_SelectZoom.top)*10/FuMian*100)/100.0);
m_nSize=m_nWidth1*m_nLength1*(pScanner->m_nDPI)*(pScanner->m_nDPI)*3/1024;
}
if(m_nUNIT=="厘米")
{
m_nX10=(double)((int)(pViewWnd->m_SelectZoom.left*10/FuMian*2.54*100)/100.0);
m_nY10=(double)((int)(pViewWnd->m_SelectZoom.top*10/FuMian*2.54*100)/100.0);
m_nWidth1=(double)((int)((pViewWnd->m_SelectZoom.right-pViewWnd->m_SelectZoom.left)*10/FuMian*2.54*100)/100.0);
m_nLength1=(double)((int)((pViewWnd->m_SelectZoom.bottom-pViewWnd->m_SelectZoom.top)*10/FuMian*2.54*100)/100.0);
m_nSize=(m_nWidth1/2.54)*(m_nLength1/2.54)*(pScanner->m_nDPI)*(pScanner->m_nDPI)*3/1024;
}
switch(pScanner->m_nColor)
{
case 16777216:
m_nSize= m_nSize;
break;
case 256:
m_nSize /= 3;
break;
case 2:
m_nSize /= 24;
break;
}
m_nSize =(int)(m_nSize/1024*100)/100.0;
m_pParent = pParent;
m_nID = CpostionInfo::IDD;
}
/////////////////////////////////////////////////////////////////////////////
//产生对话框 //
/////////////////////////////////////////////////////////////////////////////
BOOL CpostionInfo::Create(void)
{
CDialog::Create(m_nID,m_pParent);
ShowWindow(SW_SHOW);
return TRUE;
}
void CpostionInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CpostionInfo)
DDX_Text(pDX, IDC_EDIT_ZEROX1, m_nX10);
DDX_Text(pDX, IDC_EDIT_ZEROY1, m_nY10);
DDX_Text(pDX, IDC_EDIT_WIDTH1, m_nWidth1);
DDX_Text(pDX, IDC_EDIT_LENGTH1, m_nLength1);
DDX_Text(pDX, IDC_EDIT_SIZEIMAGE, m_nSize);
DDX_Text(pDX, IDC_EDIT_RD,m_nRd);
DDX_Text(pDX, IDC_EDIT_JZMode,m_sJZModeD);
DDX_Text(pDX, IDC_EDIT_ENAH,m_sEnahD);
DDX_Text(pDX, IDC_EDIT_TYPE,m_sType);
DDX_Text(pDX, IDC_EDIT_SAOMIAO,m_sScanType);
DDX_Text(pDX, IDC_EDIT_HUIGUI,m_sHuiGuiType);
DDX_Text(pDX, IDC_EDIT_UNIT,m_nUNIT);
DDX_Text(pDX, IDC_EDIT_CHANNEL,m_sChannel);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CpostionInfo, CDialog)
//{{AFX_MSG_MAP(CpostionInfo)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//被SET和VIEW调用
////////////////////////////////////////////////////////////////////////////
void CpostionInfo::SetPosition(RECT rt,int n)
{
UpdateData(true) ;
char str[36];
int Jzmd=GetPrivateProfileInt("ScanCai_Mod","ScnCaiMod",1,InitDir2);
switch (Jzmd)
{
case 0: //底层校正扫描
m_sJZModeD="底层校正扫描";
break;
case 1: //底层校正精扫描
m_sJZModeD="底层校正精扫描";
break;
case 2: //校正参数扫描
m_sJZModeD="校正参数扫描";
break;
case 3: //校正参数精扫描
m_sJZModeD="校正参数精扫描";
break;
case 4: //不校正扫描
m_sJZModeD="不校正扫描";
break;
case 5: //感光校正参数扫描
m_sJZModeD="感光校正参数扫描";
break;
case 6: //偏移校正参数扫描
m_sJZModeD="偏移校正参数扫描";
break;
case 7: //增益校正参数扫描
m_sJZModeD="增益校正参数扫描";
break;
default:
m_sJZModeD="校正参数扫描";
break;
}
//更新图像增强方式显示
Jzmd=GetPrivateProfileInt("Image_Enah","Enah_Enable",0,InitDir2);
if (Jzmd==0)
{
m_sEnahD="不增强";
}
else
{
m_sEnahD="增强";
}
GetPrivateProfileString("file type","type","真彩色",str,36,InitDir2);
m_sType=_T(str);
GetPrivateProfileString("scan type","type","Twain方式",str,36,InitDir2);
m_sScanType=_T(str);
GetPrivateProfileString("huigui type","type","零点位置",str,36,InitDir2);
m_sHuiGuiType=_T(str);
GetPrivateProfileString("scan unit","unit","英寸",str,36,InitDir2);
m_nUNIT=_T(str);
m_nX0=(double)((int)(rt.left/FuMian*100)/100.0);
m_nY0=(double)((int)(rt.top/FuMian*100)/100.0);
m_nWidth=(double)((int)(abs(rt.right-rt.left)/FuMian*100)/100.0);
m_nLength=(double)((int)(abs(rt.bottom-rt.top)/FuMian*100)/100.0);
if(m_nUNIT=="英寸")
{
m_nX10=(double)((int)(rt.left/FuMian*100)/100.0);
m_nY10=(double)((int)(rt.top/FuMian*100)/100.0);
m_nWidth1=(double)((int)(abs(rt.right-rt.left)/FuMian*100)/100.0);
m_nLength1=(double)((int)(abs(rt.bottom-rt.top)/FuMian*100)/100.0);
}
if(m_nUNIT=="厘米")
{
m_nX10=(double)((int)(rt.left/FuMian*2.54*100)/100.0);
m_nY10=(double)((int)(rt.top/FuMian*2.54*100)/100.0);
m_nWidth1=(double)((int)(abs(rt.right-rt.left)/FuMian*2.54*100)/100.0);
m_nLength1=(double)((int)(abs(rt.bottom-rt.top)/FuMian*2.54*100)/100.0);
}
switch(pScanner->m_nColor)
{
case 16777216:
m_nSize=m_nWidth*m_nLength*(pScanner->m_nDPI)*(pScanner->m_nDPI)*3/1024;
break;
case 256:
m_nSize=m_nWidth*m_nLength*(pScanner->m_nDPI)*(pScanner->m_nDPI)/1024;
break;
case 2:
m_nSize =m_nWidth*m_nLength*(pScanner->m_nDPI)*(pScanner->m_nDPI)/8/1024;
break;
}
m_nSize = (int)(m_nSize/1024*100)/100.0;
if(n==0) //非预览时调用
{
m_nRd=pScanner->m_nDPI;
}
else
{
m_nRd=100;
}
int channel;
channel=GetPrivateProfileInt("xianzhen","channel",42,InitDir2);
if(channel==44)//红色通道
{
m_sChannel="红色通道";
}
if(channel==42)//绿色通道
{
m_sChannel="绿色通道";
}
if(channel==41)//蓝色通道
{
m_sChannel="蓝色通道";
}
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -