using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ivf_tl_Entity.CameraEntitys { public class MVCAPI { public delegate void LPMV_CALLBACK2(IntPtr lpParam, IntPtr lpUser); public const short ResSuccess = 0x0000; public const short ResNullHandleErr = 0x0001; public const short ResNullPointerErr = 0x0002; public const short ResFileOpenErr = 0x0003; public const short ResNoDeviceErr = 0x0004; public const short ResInvalidParameterErr = 0x0005; public const short ResOutOfMemoryErr = 0x0006; public const short ResNoPreviewRunningErr = 0x0007; public const short ResOSVersionErr = 0x0008; public const short ResUsbNotAvailableErr = 0x0009; public const short ResNotSupportedErr = 0x000a; public const short ResNoSerialString = 0x000b; public const short ResVerificationErr = 0x000c; public const short ResUnknowErr = 0x00ff; public const int WS_CHILD = 0x40000000; public const int WS_VISIBLE = 0x10000000; //public static uint WS_CHILD = 1073741824u; //public static uint WS_VISIBLE = 268435456u; [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2Init(String pFilterName, out int index, ref CapInfoStruct pCapInfo, out IntPtr hImager); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2GetSerial(IntPtr hImager, StringBuilder number); /// /// 卸载相机,成功返回0 /// /// /// [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2Uninit(ref IntPtr hImager); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2Start(IntPtr hImager, String tilte, uint style, int x, int y, int width, int height, IntPtr parent, uint nId, int ViewDataThreadPriority, int ViewDrawThreadPriority); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2StartCapture(IntPtr hImager, bool bCapture); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2Stop(IntPtr hImager); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2PausePreview(IntPtr hImager, bool bPause); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2GetFrameRate(IntPtr hImager, out float nRate); /**************************************************/ [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SetOpMode(IntPtr hImager, byte nMode, bool bStrobe); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SetPartOfCapInfo(IntPtr hImager, ref CapInfoStruct pCapInfo); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2GetRgbData(IntPtr hImager, ref CapInfoStruct pCapInfo, IntPtr pDest); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2GetRawData(IntPtr hImager, ref CapInfoStruct pCapInfo); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2ConvertRawToRgb(IntPtr hImager, IntPtr pSrc, int width, int height, IntPtr pDest); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SaveFrameAsBmp(IntPtr hImager, ref CapInfoStruct pCapInfo, IntPtr pDest, string strname); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SetMaskCallBack(IntPtr hImager, LPMV_CALLBACK2 MaskCallBackFunction, IntPtr lpUser); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SetFrameCallBack(IntPtr hImager, LPMV_CALLBACK2 CALLBACKFUNCT, IntPtr lpUser); [DllImport(@"Resources\ccd\mvcapi.dll")] public static extern Int32 MV_Usb2SetMask(IntPtr hImager, bool bMask); [DllImport(@"Resources\ccd\MVCAPI.dll")] public static extern int MV_Usb2SavePausedFrameAsBmp(IntPtr hImager, string fileName); [DllImport(@"Resources\ccd\MVCAPI.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int MV_Usb2GetPausedRgbData(IntPtr intptr_device, IntPtr rgbdata); [DllImport(@"Resources\ccd\mvavi.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void MV_AVIFileInit(uint filetype, short framerate); [DllImport(@"Resources\ccd\mvavi.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void MV_AVIFileFini(); /// /// 1是成功 0失败 /// /// /// /// /// [DllImport(@"Resources\newccd\Project2.dll", EntryPoint = "#7", CallingConvention = CallingConvention.Cdecl)] public extern static int SavePic(byte[] bitmapData, int width, int height, string path); } }