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
Значение свойства
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();
}