Visão geral da API wic

O WIC (Componente de Imagem do Windows) fornece uma API baseada em COM (Component Object Model) para uso em C e C++. A API wic expõe uma variedade de funcionalidades relacionadas à imagem, incluindo:

  • Codecs internos para os formatos de imagem da Web padrão.
  • Suporte interno para formatos de metadados padrão.
  • Ampla gama de suporte ao formato de pixel.
  • Suporte de alta cor; incluindo intervalo estendido de 30 bits, precisão alta de 30 bits e formatos de pixels de alta precisão e gama de 48 bits.
  • Estrutura extensível para codecs de imagem, formatos de pixel e formatos de metadados.

Este tópico contém os tópicos a seguir.

Arquivos de cabeçalho WIC

As APIs wic são definidas nos seguintes arquivos de cabeçalho e IDL (Interface Definition Language):

Arquivo Descrição
wincodec.h Define as versões C e C++ das APIs wic primárias.
wincodec.idl Define as interfaces wic primárias.
wincodecsdk.h Define as versões C e C++ das APIs wic de metadados.
wincodecsdk.idl Define as interfaces de metadados do WIC.
wincodec_proxy.h Define as exportações de proxy wic.

 

Para usar o WIC, seus aplicativos devem incluir wincodec.h e/ou wincodecsdk.h, dependendo da API de que seu aplicativo precisa.

Arquivos de biblioteca

Os arquivos da biblioteca WIC:

Arquivo Descrição
windowscodecs.lib Biblioteca de importação fornecida pelo SDK (Software Development Kit) do Windows.
windowscodecs.dll Biblioteca de implementação de estoque fornecida pelo sistema operacional.

 

Para vincular às APIs wic, seu aplicativo deve incluir windowscodec.lib como uma dependência de vinculador adicional.

Fábricas de Classes

A tabela a seguir descreve as duas fábricas de classes COM que as APIs wic fornecem para criar componentes wic.

Interface de fábrica Descrição
IWICImagingFactory Fábrica de classes primárias para desenvolvimento de aplicativos usando componentes WIC. Essa fábrica cria componentes como decodificadores de imagem, codificadores e fluxos.
IWICComponentFactory Fábrica de classes direcionada para desenvolvedores de componentes WIC. Os componentes criados a partir dessa fábrica são usados principalmente no desenvolvimento do manipulador de codec e metadados.

 

Para criar qualquer fábrica de classes, use a função COCreateInstance COM. O exemplo a seguir demonstra a criação da fábrica de imagens wic.

// Initialize COM
CoInitialize(NULL);

// The factory pointer
IWICImagingFactory *pFactory = NULL;

// Create the COM imaging factory
HRESULT hr = CoCreateInstance(
    CLSID_WICImagingFactory,
    NULL,
    CLSCTX_INPROC_SERVER,
    IID_PPV_ARGS(&pFactory)
);

Componentes de geração de imagens

As APIs wic fornecem vários tipos de componentes de imagem. A tabela a seguir descreve alguns dos componentes comuns do WIC. Para obter uma lista completa de componentes disponíveis, consulte Interfaces WIC.

Tipo de componente Descrição
Bitmap Representa uma representação gravável na memória de um IWICBitmapSource.
Decodificador Usado para decodificar dados de imagem de um fluxo em um formato útil para processamento de imagens.
Codificador Grava dados de imagem em um fluxo.
Fluxo Usado para ler e gravar dados de um arquivo, recurso de rede, um bloco de memória e assim por diante.
Conversor de Formato Usado para converter de um formato de pixel para outro.
Leitor de Consulta de Metadados Usado para ler metadados de uma imagem ou quadro de imagem.
Gravador de Consulta de Metadados Usado para gravar metadados em uma imagem ou quadro de imagem.

 

Consulte Também

Referências

Exemplos e exemplos de código