我现在有100种颜色是已知的,怎么用CreatePalette创建调色板,现在很奇怪,我用CreatePalette创建调色板后用GetNearestPaletteIndex索引颜色后总是一个值。都不知道怎么弄。。。知道创建调色板的高手们帮我实现以下。。。真的想不起来。。。谢谢。。。6.0代码。。。
CreatePalette这个函数 。。。但是我弄了半天还没弄出来。。。Dim x(450) As PALETTEENTRY
For i = LBound(C_Color) To UBound(C_Color) - 1
x(i).peRed = C_Color(i).r
x(i).peGreen = C_Color(i).b
x(i).peBlue = C_Color(i).b
Next
LogPal.palPalEntry = x
'Create the palette
hPal = CreatePalette(LogPal)
'PicAlde.BackColor = GetNearestColor(hPal, RGB(200, 200, 200))
main.PicAlde.BackColor = GetNearestPaletteIndex(hPal, RGB(255, 255, 255))
还有Public Type PALETTEENTRY
peRed As Byte
peGreen As Byte
peBlue As Byte
peFlags As Byte
End Type
Public Type LOGPALETTE
palVersion As Integer
palNumEntries As Integer
palPalEntry(450) As PALETTEENTRY
End Type
但是结果很不理想。要么是红色的要么是没反应。。。这是奇怪了。。。麻烦大家帮我看一下。。。谢谢。。。
muradil