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 = 1sizeオブジェクトを返すこと.
  • size ImageSize(const char *img, const void *header)
    imgで指定されたファイルの画像のサイズを返す関数.
    headerには,pathで指定されるファイルの先頭 128byte が入っている.
    ただし,128byteに満たないファイルの場合,余剰部分に入っているデータは未定義である.
    返値は,サムネイルのサイズをsize型のオブジェクトで返すこと.
    画像サイズが不明である場合,size.x = size.y = 1sizeオブジェクトを返すこと.

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で指定されるファイルディスクリプタにサムネイルを出力する.