54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using System.Runtime.InteropServices;
|
|
using System.Security;
|
|
|
|
namespace HandyControl.Tools.Interop
|
|
{
|
|
[StructLayout(LayoutKind.Sequential, Pack = 2)]
|
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
|
internal struct BITMAPINFO
|
|
{
|
|
public int bmiHeader_biSize;
|
|
|
|
public int bmiHeader_biWidth;
|
|
|
|
public int bmiHeader_biHeight;
|
|
|
|
public short bmiHeader_biPlanes;
|
|
|
|
public short bmiHeader_biBitCount;
|
|
|
|
public int bmiHeader_biCompression;
|
|
|
|
public int bmiHeader_biSizeImage;
|
|
|
|
public int bmiHeader_biXPelsPerMeter;
|
|
|
|
public int bmiHeader_biYPelsPerMeter;
|
|
|
|
public int bmiHeader_biClrUsed;
|
|
|
|
public int bmiHeader_biClrImportant;
|
|
|
|
public BITMAPINFO(int width, int height, short bpp)
|
|
{
|
|
bmiHeader_biSize = SizeOf();
|
|
bmiHeader_biWidth = width;
|
|
bmiHeader_biHeight = height;
|
|
bmiHeader_biPlanes = 1;
|
|
bmiHeader_biBitCount = bpp;
|
|
bmiHeader_biCompression = 0;
|
|
bmiHeader_biSizeImage = 0;
|
|
bmiHeader_biXPelsPerMeter = 0;
|
|
bmiHeader_biYPelsPerMeter = 0;
|
|
bmiHeader_biClrUsed = 0;
|
|
bmiHeader_biClrImportant = 0;
|
|
}
|
|
|
|
[SecuritySafeCritical]
|
|
private static int SizeOf()
|
|
{
|
|
return Marshal.SizeOf(typeof(BITMAPINFO));
|
|
}
|
|
}
|
|
} |