diff --git a/LaiPuLaser/Camera.cpp b/LaiPuLaser/Camera.cpp index 13be14f..a8b7fd0 100644 --- a/LaiPuLaser/Camera.cpp +++ b/LaiPuLaser/Camera.cpp @@ -12,6 +12,7 @@ CCamera::CCamera(void) { m_OnePixDis = 1;//一个像素对应的实际尺寸(mm/pix) + m_OnePixDis2 = 1;//一个像素对应的实际尺寸(mm/pix) m_bIni = false;//是否初始化成功 m_bRotatoPtByAngle = false;//是否根据相机的安装角度修正抓取结果 m_Angle = 0; @@ -204,7 +205,25 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty() gDevicePropertieMgr.Insert(p1, pPropertie); } + { + //添加属性变量映射 + Name = _T("m_OnePixDis2");//变量名字 + CPropertie *pPropertie = new CPropertie; + pPropertie->SetpVal((void*)&m_OnePixDis2); + pPropertie->SetType(_PROP_TYPE_DOUBLE); + pPropertie->SetpModule(this); + pPropertie->SetPath(Path); + pPropertie->SetName(Name); + pPropertie->WriteRead(true);//读取保存的属性 + //添加属性显示 + PropertyName = _T("像素尺寸2"); + Description = _T("相机2一个像素对应的实际尺寸单位是(mm/像素)"); + CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_OnePixDis2, Description); + pGroup->AddSubItem(p1); + + gDevicePropertieMgr.Insert(p1, pPropertie); + } { //添加属性变量映射 @@ -334,6 +353,7 @@ void CCamera::ExportPar(ofstream *pFile) (*pFile)<<"[CCD 坐标x][m_Coord.x] = "<WriteDebugLog(LogStr); diff --git a/LaiPuLaser/Camera.h b/LaiPuLaser/Camera.h index 6dee568..7bba32e 100644 --- a/LaiPuLaser/Camera.h +++ b/LaiPuLaser/Camera.h @@ -30,6 +30,7 @@ protected: bool m_bUse;//是否使用 bool m_bIni;//是否初始化成功 double m_OnePixDis;//一个像素对应的实际尺寸(mm/pix) ,通常需要定标得到这个值,不是所有的CCD 都会使用这个值,像基恩士的就是在其内部处理的 + double m_OnePixDis2;//一个像素对应的实际尺寸[相机2] bool m_bLeftTop;//基准点是否为左上角(false 为左下角) bool m_bPixCoord;//相机抓取的是否为像素坐标(基恩士返回的是mm 单位的值)