Compartilhar via


Visão geral das fontes de bitmap

Este tópico apresenta fontes de bitmap, um componente principal do WIC (Componente de Imagem do Windows) que representa os pixels de bitmap de uma imagem.

Este tópico inclui as seções a seguir.

Fontes de bitmap

O componente IWICBitmapSource é o bloco de construção básico do WIC e representa um único conjunto de pixels. Uma origem bitmap pode ser um quadro individual de uma imagem multiframe ou pode ser o resultado de uma transformação executada em uma fonte de bitmap. A interface IWICBitmapSource é a base de muitas das interfaces wic primárias, como o quadro de decodificador IWICBitmapFrameDecode e transformar fontes de bitmap, como iWICBitmapFlipRotator.

A tabela a seguir descreve os diferentes componentes de origem de bitmap fornecidos pelo WIC.

Fontes de bitmap Descrição
Iwicbitmapframedecode Representa um quadro de imagem do decodificador.
IWICBitmap Fornece capacidade de gravação e representação na memória para fontes de bitmap.
IWICBitmapClipper Corta uma fonte de bitmap para um retângulo desejado.
IWICBitmapFlipRotator Inverte e/ou gira uma origem de bitmap para uma orientação desejada.
IWICBitmapScaler Dimensiona uma origem de bitmap para um tamanho desejado.
IWICColorTransform Transforma o contexto de cor de uma fonte de bitmap.
IWICFormatConverter Converte o formato de pixel de uma origem bitmap.

 

Quadros de bitmap

O IWICBitmapSource mais comum é o IWICBitmapFrameDecode. Essa interface é usada para acessar os dados de bitmap reais de um formato de imagem. Muitos formatos de imagem dão suporte apenas a um único quadro de bitmap, enquanto outros formatos, como GIF e TIFF, dão suporte a vários quadros por imagem.

Para obter um exemplo sobre como obter quadros de bitmap de uma imagem, consulte o tópico Como recuperar os quadros de uma imagem .

Bitmaps

Um IWICBitmap adiciona os conceitos de capacidade de gravação e de memória estática a fontes de bitmap. Os bitmaps wic permitem que os usuários acessem diretamente os pixels de uma fonte de bitmap. Esse acesso direto é fornecido pelo método Lock e dá suporte a qualquer combinação de acesso de leitura e/ou gravação aos pixels de bitmap. O método Lock bloqueia o retângulo de bitmap especificado e fornece um objeto IWICBitmapLock para acessar os pixels.

Para obter um exemplo usando objetos IWICBitmap e IWICBitmapLock , consulte o tópico How to Modify the Pixels of a Bitmap Source (Como modificar os pixels de uma fonte de bitmap ).

Transformar fontes de bitmap

O WIC fornece várias interfaces IWICBitmapSource que transformam os dados de pixel. Especificamente, o WIC fornece transformações de origem de bitmap para dimensionamento, recorte, rotação e inversão de dados de pixel. Essas transformações de origem de bitmap são IWICBitmapClipper, IWICBitmapScaler e IWICBitmapFlipRotator. Cada uma dessas fontes de bitmap tem um método para inicializar e criar uma nova fonte de bitmap transformada. Por exemplo, o IWICBitmapClipper inclui o método Initialize . Esse método inicializa a origem do bitmap clipper com os dados de pixel cortados da fonte de bitmap de entrada no WICRect fornecido.

Os tópicos de instruções a seguir demonstram diferentes usos das fontes de bitmap de transformação.

Conversores de contexto de cores e formato de pixel

O WIC também fornece fontes de bitmap convertendo o formato de pixel e o contexto de cor de uma origem bitmap. O WIC fornece IWICFormatConverter e IWICColorTransform para essas operações.

IWICFormatConverter converte uma determinada fonte de bitmap de um formato de pixel para outro.

Para obter um exemplo usando o IWICFormatConverter, consulte o tópico Como desenhar uma fonte bitmap usando Direct2D.

Fontes de bitmap de desenho

O WIC é uma tecnologia de codec de imagem parada e é usado para gerenciar dados e metadados de imagem e não fornece inerentemente uma maneira de renderizar imagens. No entanto, as fontes de bitmap podem ser desenhadas usando várias tecnologias gráficas do Windows, como Direct2D, GDI (Interface de Dispositivo gráfico do Windows) e Windows GDI+. Cada uma dessas tecnologias tem um nível diferente de interoperabilidade com WIC. Direct2D fornece interoperabilidade direta por meio da interface ID2D1Bitmap e do método ID2D1RenderTarget::CreateBitmapFromWicBitmap, enquanto GDI e GDI+ exigem que os usuários copiem os pixels de origem do bitmap em um Bitmaps.

O exemplo a seguir demonstra como desenhar fontes de bitmap usando Direct2D.

Conceitual

Visão geral do componente de imagem do Windows

Visão geral da codificação

Outros recursos

Como escrever uma WIC-Enabled CODEC