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 { [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] 兰增益。 /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] Gain; /// /// 用于接受命令参数 /// public byte Control; /// /// 设置binning模式 /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public byte[] Reserved; } [StructLayout(LayoutKind.Sequential)] public struct BITMAPINFOHEADER { [MarshalAs(UnmanagedType.I4)] public Int32 biSize; [MarshalAs(UnmanagedType.I4)] public Int32 biWidth; [MarshalAs(UnmanagedType.I4)] public Int32 biHeight; [MarshalAs(UnmanagedType.I2)] public short biPlanes; [MarshalAs(UnmanagedType.I2)] public short biBitCount; [MarshalAs(UnmanagedType.I4)] public Int32 biCompression; [MarshalAs(UnmanagedType.I4)] public Int32 biSizeImage; [MarshalAs(UnmanagedType.I4)] public Int32 biXPelsPerMeter; [MarshalAs(UnmanagedType.I4)] public Int32 biYPelsPerMeter; [MarshalAs(UnmanagedType.I4)] public Int32 biClrUsed; [MarshalAs(UnmanagedType.I4)] public Int32 biClrImportant; } }