Como criar um decodificador usando um nome de arquivo de imagem
Este tópico descreve como criar um decodificador de bitmap usando um nome de arquivo de imagem.
Para criar um decodificador de bitmap usando um nome de arquivo de imagem
Crie um objeto IWICImagingFactory para criar objetos WIC (Componente de Imagem do Windows).
// Create WIC factory hr = CoCreateInstance( CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pIWICFactory) );
Use o método CreateDecoderFromFilename para criar um IWICBitmapDecoder de um arquivo de imagem.
HRESULT hr = S_OK; IWICBitmapDecoder *pIDecoder = NULL; IWICBitmapFrameDecode *pIDecoderFrame = NULL; hr = m_pIWICFactory->CreateDecoderFromFilename( L"turtle.jpg", // Image to be decoded NULL, // Do not prefer a particular vendor GENERIC_READ, // Desired read access to the file WICDecodeMetadataCacheOnDemand, // Cache metadata when needed &pIDecoder // Pointer to the decoder );
Obtenha o primeiro IWICBitmapFrameDecode da imagem.
// Retrieve the first bitmap frame. if (SUCCEEDED(hr)) { hr = pIDecoder->GetFrame(0, &pIDecoderFrame); }
O formato de arquivo JPEG dá suporte apenas a um único quadro. Como o arquivo neste exemplo é um arquivo JPEG, o primeiro quadro (
0
) é usado. Para formatos de imagem que têm vários quadros, consulte Como recuperar os quadros de uma imagem para acessar cada quadro da imagem.Processe o quadro de imagem. Para obter informações adicionais sobre objetos IWICBitmapSource , consulte a Visão geral de fontes de bitmap.
Consulte Também