Partilhar via


BitmapEncoder.IsThumbnailGenerated Propriedade

Definição

Indica se uma nova miniatura é gerada automaticamente ou não.

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

Valor da propriedade

Boolean

bool

Um valor que indica se o codificador de bitmap gerará automaticamente uma nova miniatura. O valor padrão é False.

Comentários

Quando esse valor for true, o codificador de bitmap gerará uma nova miniatura reduzindo o bitmap de quadro. O tamanho da miniatura é determinado pelas propriedades GeneratedThumbnailWidth e GeneratedThumbnailHeight . Quando esse valor é falso, nenhuma miniatura é gravada no arquivo.

Se o BitmapEncoder tiver sido criado usando o método CreateForTranscodingAsync e IsThumbnailGenerated for false, o codificador bitmap deixará os dados em miniatura existentes intocados. Nesse caso, se o bitmap foi modificado antes da codificação, é possível que o arquivo de saída tenha uma miniatura que não corresponda ao novo conteúdo da imagem.

Somente tipos de imagem JPEG, TIFF e JPEG-XR dão suporte a miniaturas de codificação. Se o formato de imagem que está sendo codificado não oferecer suporte a miniaturas e você definir IsThumbnailGenerated como true, a chamada para FlushAsync falhará com o HRESULT WINCODEC_ERR_UNSUPPORTEDOPERATION. Você deve capturar essa exceção e tentar codificar novamente com a geração de miniaturas desabilitada. Se seu aplicativo codificar apenas formatos de imagem que dão suporte a miniaturas, você poderá ignorar esta etapa.

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();
 }

Aplica-se a