名前空間: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以上であればカラーパレットは不要です。
参考情報
※ページのURLは変更になりますので、その際は検索結果を開いて下さい。