カラーパレット

■カラーパレット

カラーパレットとはBMPなどのファイル形式で使用されている
ピクセルカラーの表現方法です。
カラーパレットを使用することでファイルサイズを小さくすることできます。
	
●カラーパレットの概要
	カラーパレットは画像で使用する色情報の数が決まっており、
	その色情報には通し番号が設定されています。
	(256色の場合は0~255など)
	各ピクセルはカラーパレットの色番号が設定されており、
	実際に画面に表示される時は色番号の色が使用されます。

●メリット
	・ファイルサイズの縮小
		カラーパレットを使用した場合ファイルサイズを小さくすることができます。
		ファイルサイズが大きくなればなるほど、効果を発揮します。
		
	・パレットの変更による画像内容の変更
		パレットの色を変更した場合、その色が使われている
		ピクセルを変更することができます。
		この機能はファミコンなどの昔のゲームでよく使用されていました。
		昔のゲーム等ではCPUのサイズが小さかったため
		多くの画像を読み込むことができません。
		そこで、技術者はカラーパレットの色を変更することで、
		別の敵キャラとして扱いバリエーションを増やすことを考えました。
		現在はCPUのサイズが大きくなっていますので、
		色違いであったとしても別の画像が用意されており、
		敵の種類の考え方として一般的になっていますが、
		誕生のきっかけはバリエーションを増やすための
		開発者の苦肉の策により産まれました。

●デメリット
	・使用できる色数の固定化
		カラーパレットを使用した際のデメリットはやはり色数の固定化にあります。
		一定数の色数以外は使用することができなくなりますので、
		デザイナーには少ない色数でも対象とする絵を表現する技術が必要となります。

■色を変えてみる

カラーパレットを変更して画像内容を変更したいと思います。
	
●用意するもの
	ペイントツール(ペイントで可)
	String.exe(バイナリ表示ソフト)

●色変えの手順
	①.ペイントツールで「16 * 16」のサイズを用意する

	②.色の編集でRGB => 「255, 255, 0」して塗りつぶす

	③.適当な名前を付けてbmp(16色)形式で保存する

	④.string.exeを起動する

	⑤.③で保存した画像をstring.exeにD&Dする

	⑥.画像のダンプデータが表示される
		gmpg_0092
		1.画像サイズ
			画像のサイズ
			
		2.ピクセル開始場所
			ピクセルの開始バイト位置

		3.1ピクセルのビット
			1ピクセルに使用されているビット数
			画像は4ビット指定なので、4ビットで1ピクセルとして扱われている

		4.カラーパレット
			カラーパレット情報
			RGB0の順番で並んでいる

		5.変更するカラーパレット
			手順7で変更するカラーパレット

		6.ピクセル(数値はパレット番号)
			ピクセルデータ。
			1ピクセルは4ビットなので、
			1バイトで2ピクセルを表現している

		7.全ピクセルデータ
			「6」以降は全て画像のピクセルデータ

	⑦.⑤の値を変更する(RGB0)

	⑧.画像の色が変わっていることを確認する