サムネールは、ミニチュア版の保管画像や保管ビデオ・フレームです。 画像をデータベースに保管すると、イメージ・エクステンダーがその画像のサムネールを作成し、それを属性表に保管します。 ビデオをデータベースに保管すると、ビデオ・エクステンダーは属性表に、そのビデオ・オブジェクトを表す汎用サムネールを保管します。
省略時では、イメージ・エクステンダーによって自動的に作成される画像のサムネールのサイズは、約 112 × 84 ピクセルです。 ビデオ・エクステンダーが挿入する汎用ビデオ・サムネールは、108 × 78 ピクセルです。 画像サムネールおよび汎用ビデオ・サムネールは、どちらも GIF 形式で保管されます。 これらは、画像やビデオ・フレームのデータ密度にもよりますが、およそ 4.5 KB から 5 KB のデータに相当します。 ユーザー指定の属性をもつ画像やビデオを保管または更新する場合には、サムネールの大きさと形式を指定することができます。
サムネールをデータベースから取り出すには、SQL SELECT ステートメントで Thumbnail UDF を使用します。 そして、そのサムネールをファイルに伝送するには、ファイル参照変数を使用します。 UDF を指定するときには、画像かビデオのハンドルが入っている列 (データベース表の) の名前を指定する必要があります。 次に DBiBrowse API を使用すれば、画像やビデオ・フレームのサムネールを表示することができます。
たとえば、次のステートメントでは、サムネールの画像を取り出して、それを表示します。
long rc, outCount; char Thumbnail_filename[254]; FILE *file_handle; EXEC SQL BEGIN DECLARE SECTION; struct { short len char data[10000]; }Thumbnail_buffer; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT THUMBNAIL(PICTURE) INTO :Thumbnail_buffer FROM EMPLOYEE WHERE NAME = 'Anita Jones'; strcpy (Thumbnail_filename,"/tmp/ajones.tmb"); file_handle=fopen(Thumbnail_filename,"wb+"); outCount=fwrite(Thumbnail_buffer.data, 1, Thumbnail_buffer.len, file_handle); fclose(file_handle); rc = DBiBrowse ( NULL, /* use the default display program */ MMDB_PLAY_FILE, /* thumbnail image in file */ Thumbnail_filename, /* thumbnail image content */ MMDB_PLAY_WAIT); /* wait for user to finish */