📄 scanner.cpp
字号:
//与具体扫描有关的类
#include "StdAfx.h"
#include "Scanner.h"
#include "functions.h"
#include "ViewWnd.h"
#include "Const.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern char InitDir2[100];
extern CViewWnd *pViewWnd;
/////////////////////////////////////////////////////////////////////////////
// CScanner构造体
///////////////////////////////////////////////////////////////////////
CScanner::CScanner(void)
{
//初始化与扫描有关的数据
m_pLastImage=NULL;
m_hPreImage=NULL;
m_hAdjustedPreImage=NULL;
//扫描区域
m_rtScanZoom.top = 0;
m_rtScanZoom.left = 0;
m_rtScanZoom.bottom = 0;
m_rtScanZoom.right = 0;
m_nh=FALSE;
//缺省增强色彩方式
quesheng=TRUE;
//AfxMessageBox(" 缺省");
}
/////////////////////////////////////////////////////////////////////////////
// CScanner析构体
///////////////////////////////////////////////////////////////////////
CScanner::~CScanner( )
{
if(m_hPreImage!=NULL)
GlobalFree(m_hPreImage);
if(m_hAdjustedPreImage!=NULL)
GlobalFree(m_hAdjustedPreImage);
}
/////////////////////////////////////////////////////////////////////////////
//设定扫描区域,由预选框确定扫描的范围,这些数据往往被其它函数调用
////////////////////////////////////////////////////////////////////////////
BOOL CScanner::SetSelectZoom(RECT rtZoom)
{
int shuzu;
shuzu=GetPrivateProfileInt("Shuzu","shuzu",1200,InitDir2);
m_rtScanZoom.top = rtZoom.top;
m_rtScanZoom.bottom = rtZoom.bottom;
m_rtScanZoom.right = rtZoom.right;
//保证从偶数点开始扫描
m_rtScanZoom.left =((long)(rtZoom.left*10/FuMian)&0xfffe)*FuMian/10;
return TRUE;
}
///////////////////////////////////////////////////////////////////
//设置扫描分辨率
///////////////////////////////////////////////////////////////////
void CScanner::SetDPI(int nDPI)
{
m_nDPI=nDPI;
return ;
}
///////////////////////////////////////////////////////////////////
//设置扫描图象的颜色数,在这里为24位的真彩色图象
///////////////////////////////////////////////////////////////////
void CScanner::SetClororNum(int nColor)
{
m_nColor=nColor;
return;
}
///////////////////////////////////////////////////////////////////
//未用
///////////////////////////////////////////////////////////////////
void CScanner::ShowPreImage(HWND hwnd,LPVOID pPreImage)
{
return;
}
///////////////////////////////////////////////////////////////////
//初始化扫描仪。
///////////////////////////////////////////////////////////////////
BOOL CScanner:: InitDevice()
{
return TRUE;
}
void CScanner:: SetScanner(LPVOID pParams)
{
return;
}
void CScanner:: GetPreImage()
{
return;
}
void CScanner:: GetLastImage()
{
return;
}
////////////////////////////////////////////////////////////////////
//设置校正前的预览图像句柄
////////////////////////////////////////////////////////////////////
void CScanner:: SetHandleofPreviewBMP(HDIB hbmp)
{
m_hPreImage=hbmp;
return;
}
////////////////////////////////////////////////////////////////////
//设置校正后的预览图像句柄
////////////////////////////////////////////////////////////////////
void CScanner::SetHandleofAdjustedPreviewBMP(HDIB hbmp)
{
m_hAdjustedPreImage = hbmp;
return;
}
////////////////////////////////////////////////////////////////////
//获取校正前的预览图像句柄
////////////////////////////////////////////////////////////////////
HDIB CScanner::GetHandleofPreviewBMP(void)
{
return m_hPreImage;
}
////////////////////////////////////////////////////////////////////
//获取校正后的预览图像句柄
////////////////////////////////////////////////////////////////////
HDIB CScanner::GetHandleofAdjustedPreviewBMP(void)
{
return m_hAdjustedPreImage;
}
////////////////////////////////////////////////////////////////////
//获取图像选择框大小
////////////////////////////////////////////////////////////////////
RECT CScanner::GetSelectZoom(void)
{
return m_rtScanZoom;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -