using System.Runtime.InteropServices;
namespace ivf_tl_CameraHelper
{
[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;
}
}