Image.Paletteプロパティ

名前空間:System.Drawing
アセンブリ:System.Drawing.Common.dll内

イメージに使用するカラー パレットを取得または設定します。

使い方としては、下記のようになります。
  Dim bmp As Bitmap
  Dim Col(15) As Color
  ’
  ’ Col配列にカラーを入れる処理
  ’
  bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height, PixelFormat.Format4bppIndexed)
  Palette = bmp.Palette
  For i As Integer = 0 To 15
   ’ カラーの設定
   Palette.Entries(i) = Col(i)
  Next
  bmp.Palette = Palette

8bpp(256色)以下のBitmapではカラーパレットが必要になります。
デフォルトでもカラーパレットは持っていますが、
4bpp(16色)あたりだと、上記のように各色を設定したくなるときもあると思います。

また、8bpp以下のBitmapではSystem.Drawing の下にある描画フレームワークでは
描画を行うことができません。(Graphics.DrawLineとかは使えない)
そのため、LockBitsを使用して、直接Byte配列を書き換えます。
後ほど、LockBitsを使用して、直接Byte配列を書き換えるサンプルを作ります。

関連記事
・Bitmapクラス
・Bitmap.LockBitsメソッド
・Byte配列
・16色Bitmapを作成し描画する(LockBits使用)

追記
32bppArgbのBitmapでは、1ピクセルあたり4Byte(ARGB各1Byte0~255)を使用して
色を表現するため、カラーパレットはありません。
16bpp以上であればカラーパレットは不要です。

参考情報

Microsoftのページ

※ページのURLは変更になりますので、その際は検索結果を開いて下さい。

Microsoftの検索結果

クラスやメソッド・APIの宣言などに戻る

システム開発のためのVB.NETプログラミング関係一覧に戻る