Doc.3 画像加工ツールの使い方

grit

gritとは、BMP,PNGなどの画像ファイルをGBA用のフォーマットに変換してくれるツールのことです。
公式サイトは「http://www.coranac.com/projects/#grit」にあります。

使用方法

使い方はとても簡単です。
コンソール上でコマンドを入力して、いくつかの変換オプションを指定してあげます。
makefileに設定することや、バッチ処理として組むことも可能です。以下に簡単な例を表します。

  • モード0に使用する画像の変換例
    grit.exe image.bmp -gt -gB4 -fts -gu16
    オプションカテゴリー指定内容
    -gtフォーマットタイル
    -gB416色
    -fts出力タイプGNU asm
    -gu16配列のサイズ16bit
  • モード3に使用する画像の変換例
    grit.exe image.bmp -gb -gB16 -fts -gu16
    オプションカテゴリー指定内容
    -gbフォーマットビットマップ
    -gB1615bitColor
    -fts出力タイプGNU asm
    -gu16配列のサイズ16bit

出力例

上記の例(モード3)での出力結果は次のとおりです。

  • image.h
//======================================================================
//
//	image, 240x160@16, 
//	+ bitmap not compressed
//	Total size: 76800 = 76800
//
//	Time-stamp: 2007-09-07, 16:28:51
//	Exported by Cearn's GBA Image Transmogrifier
//	( http://www.coranac.com )
//
//======================================================================

#ifndef __IMAGE__
#define __IMAGE__

#define imageBitmapLen 76800
extern const unsigned short imageBitmap[38400];

#endif // __IMAGE__
  • image.s
@=======================================================================
@
@	image, 240x160@16, 
@	+ bitmap not compressed
@	Total size: 76800 = 76800
@
@	Time-stamp: 2007-09-07, 16:28:51
@	Exported by Cearn's GBA Image Transmogrifier
@	( http://www.coranac.com )
@
@=======================================================================

	.section .rodata
	.align	2
	.global imageBitmap		@ 76800 unsigned chars
imageBitmap:
	.hword 0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F
	.hword 0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F,0x4A5F 

	...(以下略)

注意してほしいのは、画像ファイルの名前がそのまま変数名に使われていることです。
image.bmpの場合、ヘッダファイルに記載されているようにimageBitmapLen、imageBitmapとなります。
画面サイズが奇数の場合、アラインメントの関係で容量が変更されるので注意が必要です。
さらに詳しいオプションを知りたい場合はgrit-readme.txtを読んでみてください。

demo project

公式サイトには使い方を説明したデモがあるのでダウンロードしてみることをおすすめします。
コンパイルが面倒という方はこちらをどうぞ。

clip_1.png

履歴

  • 2014/10/28
  • 2007/09/07

添付ファイル: fileclip_1.png 246件 [詳細]

Last-modified: 2014-10-28 (火) 22:03:18 (2757d)