使用 Thumbnail UDF 来更新为图象或视频对象存储的缩略图 (如果没有与存储的图象或视频相关的缩略图,则添加一个)。当您使用 Thumbnail UDF 时,指定正在更新其缩略图的对象的句柄, 并指定更新后的(或新建的)缩略图的内容。
在程序中生成缩略图-Extender 未提供生成缩略图的 API。您控制更新缩略图的大小和格式。在程序中创建缩略图的结构,并在 UDF 中指定缩略图结构。
例如,C 应用程序中的下列语句更新与存储的视频剪辑相关联的缩略图。
EXEC SQL BEGIN DECLARE SECTION; struct { short len; char data[10000]; }hvThumbnail; EXEC SQL END DECLARE SECTION; /*Create thumbnail and store in hvThumbnail*/ EXEC SQL UPDATE Employee SET picture=Thumbnail( picture, :hvThumbnail) WHERE name='Anita Jones';
当更新具有用户提供的属性的图象或视频对象时,也可以更新缩略图。事实上,当您更新具有用户提供的属性的图象或视频时,必须指定缩略图作为输入。若更新对象时不想更新缩略图,则指定空值或空字符串来代替缩略图说明。
C 应用程序中的下列语句更新具有用户提供的属性的视频剪辑, 并更新与该视频相关联的缩略图。
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; struct { short len; char data[400]; }hvVidattrs; struct { short len; char data[10000]; }hvThumbnail; EXEC SQL END DECLARE SECTION; hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL; MMDBVideoAttrs *pvideoAttr; pvideoAttr=(MMDBVideoAttrs *)hvVidattrs.data; strcpy(pvideoAttr>cformat,"Formatv"); hvVidattrs.len=sizeof(MMDBVideoAttrs); /* Update video content and thumbnail */ EXEC SQL UPDATE EMPLOYEE SET VIDEO=REPLACE( VIDEO, '/Employee/newvid/ajones.mpg', :hvStorageType, 'Anita''s new video', :VidAttrs, :hvThumbnail) /*thumbnail*/ WHERE NAME='Anita Jones';