读书人

请教在C#中SetDIBColorTable这个函数的

发布时间: 2012-11-11 10:07:57 作者: rapoo

请问在C#中SetDIBColorTable这个函数的调用形式是怎么样的。
[DllImport("Gdi32.dll", SetLastError = true)]
public static extern uint SetDIBColorTable(IntPtr Hdc, int un1, int un2, ref RGBQUAD pcRGBQUAD);

我自己试着这样搞:

NativeApi.SetDIBColorTable(hdc, 0, bmp.Palette.Entries.Length, ref bmp.Palette.Entries[0]);
最后一个参数总是不行。

在VB中调用很简单, SetDIBColorTable m_Hdc, 0, m_Palette.Count, m_Palette.Entries(0) 就可以了。

麻烦前辈指点下。

[解决办法]
RGBQUAD 这是什么,自己定义的?

[DllImport("Gdi32.dll", SetLastError = true)]
public static extern uint SetDIBColorTable(IntPtr Hdc, int un1, int un2, Color[] pcRGBQUAD);
NativeApi.SetDIBColorTable(hdc, 0, bmp.Palette.Entries.Length, bmp.Palette.Entries);
这样试试

读书人网 >C#

热点推荐