ラスタイメージのパレット情報を取得します。
[Visual Basic]
Public Function GetPalette(ByRef Red() As Byte, ByRef Green() As Byte, ByRef Blue() As Byte, GetImg As Image) As Boolean
[C#]
public bool GetPalette(ref byte []Red, ref byte []Green, ref byte []Blue, Image GetImg);

パラメーター

Red
取得する赤のパレット情報の配列
(1)Visual Basic: 引数にRedを与える
(2)C#: 引数にref Red[]を与える
Green
取得する緑のパレット情報の配列
(1)Visual Basic: 引数にGreenを与える
(2)C#: 引数にref Green[]を与える
Blue
取得する青のパレット情報の配列
(1)Visual Basic: 引数にBlueを与える
(2)C#: 引数にref Blue[]を与える
GetImg
対象となるイメージ

戻り値

成功の場合は True 、失敗の場合は False を返します。

解説

引数のImageに有効なイメージを与えた場合:
Imageに設定されたイメージが処理対象になります。
引数のImageにnullを与えた場合:
LayerNumberプロパティが示すプロパティ(Imageプロパティ もしくはLayer(LayerNumber).Imageプロパティ)に設定されたメモリハンドルが処理対象になります。

※LayerNumber=-1であればImage、LayerNumber=0~99であればLayer(LayerNumber).Image
パレット情報を取得するRGBのそれぞれの配列の数はPaletteCountプロパティの値になります。
PaletteCountプロパティはImageプロパティもしくはLayer(LayerNumber).Imageプロパティに値が設定された段階で更新されます。 また、GetImageTypeメソッドでも取得できます。

[Visual Basic]
Dim r() As Byte
Dim g() As Byte
Dim b() As Byte

ImageKit1.LayerNumber = -1
If ImageKit1.PaletteCount = 1 Then
  Exit Sub
End If

ReDim r(0 To ImageKit1.PaletteCount - 1)
ReDim g(0 To ImageKit1.PaletteCount - 1)
ReDim b(0 To ImageKit1.PaletteCount - 1)

ImageKit1.GetPalette(r, g, b, Nothing)

[C#]
byte[] r = new byte[imageKit1.PaletteCount];
byte[] g = new byte[imageKit1.PaletteCount];
byte[] b = new byte[imageKit1.PaletteCount];

imageKit1.LayerNumber := -1;
if (imageKit1.PaletteCount == 1) return false;
imageKit1.GetPalette(ref r, ref g, ref b, null); 

参照

ImageKit メンバ | Newtone.ImageKit.WPF.ImageKit