Erstellen eines Decoders mithilfe eines Imagedateinamens

In diesem Thema wird beschrieben, wie Sie mithilfe eines Bilddateinamens einen Bitmapdecoder erstellen.

So erstellen Sie einen Bitmapdecoder mithilfe eines Imagedateinamens

  1. Erstellen Sie ein IWICImagingFactory-Objekt , um WIC-Objekte (Windows Imaging Component) zu erstellen.

    // Create WIC factory
    hr = CoCreateInstance(
        CLSID_WICImagingFactory,
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_PPV_ARGS(&m_pIWICFactory)
        );
    
  2. Verwenden Sie die CreateDecoderFromFilename-Methode , um einen IWICBitmapDecoder aus einer Imagedatei zu erstellen.

    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
       );
    
  3. Rufen Sie den ersten IWICBitmapFrameDecode des Bilds ab.

    // Retrieve the first bitmap frame.
    if (SUCCEEDED(hr))
    {
       hr = pIDecoder->GetFrame(0, &pIDecoderFrame);
    }
    

    Das JPEG-Dateiformat unterstützt nur einen einzelnen Frame. Da es sich bei der Datei in diesem Beispiel um eine JPEG-Datei handelt, wird der erste Frame (0) verwendet. Bildformate mit mehreren Frames finden Sie unter Abrufen der Frames eines Bilds für den Zugriff auf jeden Frame des Bilds.

  4. Verarbeiten Sie den Bildrahmen. Weitere Informationen zu IWICBitmapSource-Objekten finden Sie in der Übersicht über Bitmapquellen.

Weitere Informationen

Programmierhandbuch

Referenz

Beispiele