BitmapEncoder.IsThumbnailGenerated 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示是否自动生成新的缩略图。
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 时,位图编码器将通过缩小帧位图来生成新的缩略图。 缩略图大小由 GeneratedThumbnailWidth 和 GeneratedThumbnailHeight 属性决定。 如果此值为 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();
}