RGB565画像を作るならGIMPが使える(C言語ソースも出力可)

RGB565の画像データを必要とするケースというと、主に組み込みでVRAMに書かないいけないとかそういうケースがほとんどかなぁと思うので、割とニッチではあるのだけど仕事などでやっているとたまに「さくっとPCでテスト用画像を作ってRGB565にしたいなぁ」と思うことがある。

とりあえずちょっとしたテスト用として、C言語のソースにバイナリデータとして埋め込んで動作させたいとかいう時もあるかと思う。

何か使えるツールはないだろうかと探していたら、GIMPが使えることが分かった。

分かった、と書いているけどGIMPでRGB565でのC言語ソース出力の機能は最新のGIMP2.8の一つ前、2.7から搭載されている機能らしい。

とりあえず方法。

1.絵を描く

Clipboard01

必要な幅高さなどの条件で絵を描きます。他の画像ファイルを読み込ませても良いはず。

2."Cソースコード"形式でエクスポートする

Clipboard02

メニューから、「ファイル」→「エクスポート」を選択すると画像の出力形式を選ぶ画面になる。ここで「ファイル形式の選択」で"C ソースコード"を選択する。

3.出力オプションでRGB565を選ぶ

Clipboard03

Cソースコードで出力を選ぶと、このようなオプション画面が出るのでRGB565形式で保存、のチェックボックスを入れる。他の項目はお好みで…と言いたいところだが、どうもGIMPのバグなのか?チェックボックスの組み合わせによっては、RGB565形式で出力されないパターンがあったので要注意。

出力結果

Clipboard04

このように幅、高さ、1ピクセルあたりのバイト数、画像データが構造体の形でファイルに出力される。

このまま使うも良し、必要に応じてデータ部のみ抜き出して使うも良し。

注意点

・出力オプションで"structではなくマクロを使う"を選択すると、#define部がRGB565形式で出力されない。(データ部はRGB565で吐かれている)
・出力形式を"Cヘッダファイル"にするとRGB565では出力されない

バイナリで出力したい場合はどうすればいいのだろう…。Windows BMP形式だとRGB565で出力するオプションがあるので、いったんBMPで出力してBMPヘッダを削ればいいのかな…?

タイトルとURLをコピーしました