BitmapEncoder.IsThumbnailGenerated Proprietà

Definizione

Indica se viene generata automaticamente una nuova anteprima.

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

Valore della proprietà

Boolean

bool

Valore che indica se il codificatore bitmap genererà automaticamente una nuova anteprima. Il valore predefinito è False.

Commenti

Quando questo valore è true, il codificatore bitmap genererà una nuova anteprima ridimensionando la bitmap del frame. Le dimensioni dell'anteprima sono determinate dalle proprietà GeneratedThumbnailWidth e GeneratedThumbnailHeight . Quando questo valore è false, nessuna anteprima viene scritta nel file.

Se bitmapEncoder è stato creato usando il metodo CreateForTranscodingAsync e IsThumbnailGenerated è false, il codificatore bitmap lascerà invariati i dati di anteprima esistenti. In questo caso, se la bitmap è stata modificata prima della codifica, è possibile che il file di output disponga di un'anteprima che non corrisponde al nuovo contenuto dell'immagine.

Solo i tipi di immagini JPEG, TIFF e JPEG-XR supportano le anteprime di codifica. Se il formato immagine codificato non supporta le anteprime e si imposta IsThumbnailGenerated su true, la chiamata a FlushAsync avrà esito negativo con HRESULT WINCODEC_ERR_UNSUPPORTEDOPERATION. È consigliabile rilevare questa eccezione e riprovare la codifica con la generazione di anteprime disabilitata. Se l'app codifica solo i formati di immagine che supportano le anteprime, è possibile ignorare questo passaggio.

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

Si applica a