2006/06/24(土)プラグイン::サムネイル作成
サムネイル作成プラグインは,プラグイン汎用関数の他,IsAccept関数,MakeThumbnail関数,ImageSize関数を実装しなければならない.
- int IsAccept(const char *path, const void *header)
pathで指定されたファイルを処理できるか返す関数.
処理できる場合は,0以外の値 を返し,処理できない場合は,0 を返すこと.
headerには,pathで指定されるファイルの先頭 128byte が入っている.
ただし,128byteに満たないファイルの場合,余剰部分に入っているデータは未定義である. - size MakeThumbnail(const char *in, const char *out, int width, int height, int reserved)
inで指定されたファイルのサムネイルを作成し,outで指定されるファイルに保存する関数.
サムネイルのサイズは,幅width pixel,高さheight pixel以内で作成すること.
返値は,作成したサムネイルのサイズをsize型のオブジェクトで返すこと.
サムネイルの作成に失敗した場合,size.x = size.y = 1のsizeオブジェクトを返すこと. - size ImageSize(const char *img, const void *header)
imgで指定されたファイルの画像のサイズを返す関数.
headerには,pathで指定されるファイルの先頭 128byte が入っている.
ただし,128byteに満たないファイルの場合,余剰部分に入っているデータは未定義である.
返値は,サムネイルのサイズをsize型のオブジェクトで返すこと.
画像サイズが不明である場合,size.x = size.y = 1のsizeオブジェクトを返すこと.
sizeクラスの定義は以下の通りである.
class size { public: int x; int y; size(int nx = -1, int ny = -1) { x = nx; y = ny; }; ~size(){}; };
後々,size MakeThumbnailFD(const char *in, int out, int width, int height, int reserved)
関数との選択式にする予定.
こちらの関数は,outで指定されるファイルディスクリプタにサムネイルを出力する.