Comment créer un décodeur à l’aide d’un nom de fichier image
Cette rubrique explique comment créer un décodeur bitmap à l’aide d’un nom de fichier image.
Pour créer un décodeur bitmap à l’aide d’un nom de fichier image
créez un objet IWICImagingFactory pour créer des objets WIC (Windows Imaging Component).
// Create WIC factory hr = CoCreateInstance( CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pIWICFactory) );Utilisez la méthode CreateDecoderFromFilename pour créer une IWICBitmapDecoder à partir d’un fichier image.
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 );Obtient le premier IWICBitmapFrameDecode de l’image.
// Retrieve the first bitmap frame. if (SUCCEEDED(hr)) { hr = pIDecoder->GetFrame(0, &pIDecoderFrame); }Le format de fichier JPEG ne prend en charge qu’une seule trame. Étant donné que le fichier de cet exemple est un fichier JPEG, le premier frame (
0) est utilisé. Pour les formats d’image qui ont plusieurs frames, consultez Comment récupérer les frames d’une image pour accéder à chaque image de l’image.Traitez le frame d’image. Pour plus d’informations sur les objets IWICBitmapSource , consultez vue d’ensemble des sources bitmap.