基类
namespace Cameron
{
public struct CamPara
{
public int DeviceID;
public string Name;
public int WorkMode;
public float ExpourseTime;
public float Gain;
public float Brightness;
public float Contrast;
public int Hue;
public int Sharpness;
public int Saturation;
public int ImgWidth;
public int ImgHeight;
public int Depth;
public float dX;
public float dY;
public float dScale;
public int nMirrorX;
public int nMirrorY;
}
public enum TriggerModeEnum
{
Continuous = 0 ,
Single = 1
} ;
public enum TriggerSourceEnum
{
Line0 = 0 ,
Line1 = 1 ,
Line2 = 2 ,
Line3 = 3 ,
Software = 7 ,
} ;
public abstract class CamBase
{
public abstract int OpenCamera ( string SerialNumber) ;
public abstract int CloseCamera ( ) ;
public abstract void GetImage ( out HImage hImg) ;
public abstract bool WaitImage ( out HImage hImg) ;
public abstract int SetGain ( float Gain) ;
public abstract int GetGain ( out float Gain) ;
public abstract int GetGainRange ( out float GainMin, out float GainMax) ;
public abstract int SetExpourseTime ( float ExpourseTime) ;
public abstract int GetExpourseTime ( out float ExpourseTime) ;
public abstract int GetExpourseTimeRange ( out float ExpourseTimeMin, out float ExpourseTimeMax) ;
public abstract int SetBrightness ( int Brightness) ;
public abstract int GetBrightness ( out int Brightness) ;
public abstract int GetBrightnessRange ( out int BrightnessMin, out int BrightnessMax) ;
public abstract int SetGamma ( int Gamma) ;
public abstract int GetGamma ( out int Gamma) ;
public abstract int GetGammaRange ( out int GammaMin, out int GammaMax) ;
public abstract int SetReverseX ( bool YesNo) ;
public abstract int SetReverseY ( bool YesNo) ;
public abstract int StartGrab ( ) ;
public abstract int StoptGrab ( ) ;
public abstract int SetTrigerMode ( int OnOff) ;
public abstract int SetTriggerSource ( int nSource) ;
public abstract int SoftTrigger ( ) ;
}
}
实现
namespace Machine
{
public class CameraHK : CamBase
{
public MyCamera. cbOutputdelegate ImageCallback;
public MyCamera. MV_CC_DEVICE_INFO_LIST m_pDeviceList;
public MyCamera m_MyCamera = new MyCamera ( ) ;
public int m_nDevNum = 0 ;
public uint g_nPayloadSize = 0 ;
public bool m_bGrabbing = false ;
public bool m_bGetImgFinish = false ;
public bool MachineWorkMode;
private int SelectCamId = 0 ;
private float Gain;
private float ExpourseTime;
private float DigitalShift;
private float Brightness;
public CamPara campara = new CamPara ( ) ;
HObject[ ] ho_Img;
HImage hCamImg = new HImage ( ) ;
public override int OpenCamera ( string SerialNumber)
{
int nRet = - 1 ;
m_pDeviceList = new MyCamera. MV_CC_DEVICE_INFO_LIST ( ) ;
nRet = MyC