BitmapEncoder.IsThumbnailGenerated 属性

定义

指示是否自动生成新的缩略图。

public:
 property bool IsThumbnailGenerated { bool get(); void set(bool value); };
bool IsThumbnailGenerated();

void IsThumbnailGenerated(bool value);
public bool IsThumbnailGenerated { get; set; }
var boolean = bitmapEncoder.isThumbnailGenerated;
bitmapEncoder.isThumbnailGenerated = boolean;
Public Property IsThumbnailGenerated As Boolean

属性值

Boolean

bool

一个 值,该值指示位图编码器是否将自动生成新的缩略图。 默认值为 False。

注解

当此值为 true 时,位图编码器将通过缩小帧位图来生成新的缩略图。 缩略图大小由 GeneratedThumbnailWidthGeneratedThumbnailHeight 属性决定。 如果此值为 false,则不会将缩略图写入文件。

如果 BitmapEncoder 是使用 CreateForTranscodingAsync 方法创建的,并且 IsThumbnailGenerated 为 false,则位图编码器将保留任何现有缩略图数据不变。 在这种情况下,如果在编码之前修改了位图,则输出文件的缩略图可能与图像的新内容不匹配。

只有 JPEG、TIFF 和 JPEG-XR 图像类型支持对缩略图进行编码。 如果编码的图像格式不支持缩略图,并且将 IsThumbnailGenerated 设置为 true,则对 FlushAsync 的调用将失败, 并WINCODEC_ERR_UNSUPPORTEDOPERATION HRESULT。 应捕获此异常,并在禁用缩略图生成的情况下重试编码。 如果你的应用仅对支持缩略图的图像格式进行编码,则可以跳过此步骤。

try
 {
     await encoder.FlushAsync();
 }
 catch (Exception err)
 {
     switch (err.HResult)
     {
         case unchecked ((int) 0x88982F81): //WINCODEC_ERR_UNSUPPORTEDOPERATION
             // If the encoder does not support writing a thumbnail, then try again
             // but disable thumbnail generation.
             encoder.IsThumbnailGenerated = false;
             break;
         default:
             throw err;
     }
 }

 if (encoder.IsThumbnailGenerated == false)
 {
     await encoder.FlushAsync();
 }

适用于