using System; using System.Runtime.InteropServices; namespace AutoFocusTool.Camera { /// /// 相机采集参数结构体。布局必须与 mvcapi.dll 约定完全一致(顺序敏感), /// 抄自原工程 ivf_tl_CameraHelper\CapInfoStruct.cs,勿改字段顺序。 /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct CapInfoStruct { /// 指向 Raw Data 的指针 [MarshalAs(UnmanagedType.SysInt)] public IntPtr Buffer; /// 捕获窗口高度 [MarshalAs(UnmanagedType.U4)] public int Height; /// 捕获窗口宽度 [MarshalAs(UnmanagedType.U4)] public int Width; /// 捕获窗口水平偏移 [MarshalAs(UnmanagedType.U4)] public int HorizontalOffset; /// 捕获窗口垂直偏移 [MarshalAs(UnmanagedType.U4)] public int VerticalOffset; /// 曝光时间(单位:100us) [MarshalAs(UnmanagedType.U4)] public int Exposure; /// Gain[0]红 Gain[1]绿 Gain[2]蓝,0-255 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] Gain; /// 命令参数位 public byte Control; /// binning 等保留位 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public byte[] Reserved; } }