Partilhar via


BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Método

Definição

Cria de forma assíncrona um novo BitmapEncoder para edição de propriedades e metadados in-loco. O novo codificador só pode editar propriedades de bitmap in-loco e falhará para qualquer outro uso.

public:
 static IAsyncOperation<BitmapEncoder ^> ^ CreateForInPlacePropertyEncodingAsync(BitmapDecoder ^ bitmapDecoder);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder const& bitmapDecoder);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder bitmapDecoder);
function createForInPlacePropertyEncodingAsync(bitmapDecoder)
Public Shared Function CreateForInPlacePropertyEncodingAsync (bitmapDecoder As BitmapDecoder) As IAsyncOperation(Of BitmapEncoder)

Parâmetros

bitmapDecoder
BitmapDecoder

Um BitmapDecoder que contém os dados de imagem a serem editados. Esse parâmetro deve ser criado em um fluxo com um modo de acesso de ReadWrite.

Observação

O codificador grava no fluxo no qual o BitmapDecoder original foi criado. Não é possível especificar um fluxo de saída.

Retornos

Um objeto que gerencia a inicialização assíncrona de um novo BitmapEncoder usando dados de um BitmapDecoder existente.

Atributos

Comentários

Use esse método para recuperar um codificador quando você só vai usá-lo para editar ou gravar uma quantidade limitada de propriedades na imagem. Um codificador recuperado dessa maneira pode fornecer uma vantagem de desempenho sobre um codificador retornado por CreateForTranscodingAsync porque grava as novas propriedades em espaço de preenchimento vazio em vez de codificar a imagem inteira novamente.

Aqui estão várias limitações para um codificador recuperado dessa maneira:

  • Você só pode usar esses métodos no codificador:
  • O BitmapDecoder de entrada deve ser um codificador criado em um fluxo com acesso ReadWrite .
  • Nem todos os formatos de metadados dão suporte à codificação rápida de metadados. Os manipuladores de metadados nativos que dão suporte a metadados são IFD, Exif, XMP e GPS.
  • O bloco de metadados deve ter preenchimento suficiente para armazenar as propriedades que você está tentando editar. Se uma operação de codificação falhar por qualquer motivo, você precisará usar CreateForTranscodingAsync para editar os metadados e codificar novamente a imagem. Ao codificar novamente, você também pode adicionar preenchimento novo ou adicional para habilitar a codificação de propriedade in-loco no futuro. Para fazer isso, crie um novo BitmapTypedValue com Type definido como UInt32 e Value definido como o número de bytes de preenchimento que você deseja adicionar. Um valor típico é 4096 bytes. Defina esse item de metadados em um ou mais dos locais de consulta de metadados nesta tabela.
    Formato de metadadosConsulta de metadados JPEGConsulta de metadados TIFF, JPEG-XR
    IFD/app1/ifd/PaddingSchema:Padding/ifd/PaddingSchema:Padding
    EXIF/app1/ifd/exif/PaddingSchema:Padding/ifd/exif/PaddingSchema:Padding
    XMP/xmp/PaddingSchema:Padding/ifd/xmp/PaddingSchema:Padding
    GPS/app1/ifd/gps/PaddingSchema:Padding/ifd/gps/PaddingSchema:Padding

    Aplica-se a