Sdílet prostřednictvím


Vytvoření dekodéru pomocí názvu souboru obrázku

Toto téma popisuje, jak vytvořit rastrový dekodér pomocí názvu souboru obrázku.

Vytvoření rastrového dekodéru pomocí názvu souboru obrázku

  1. Vytvořte objekt IWICImagingFactory pro vytvoření objektů wic (Windows Imaging Component).

    // Create WIC factory
    hr = CoCreateInstance(
        CLSID_WICImagingFactory,
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_PPV_ARGS(&m_pIWICFactory)
        );
    
  2. Pomocí metody CreateDecoderFromFilename vytvořte IWICBitmapDecoder ze souboru obrázku.

    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. Získejte první IWICBitmapFrameDecode obrázku.

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

    Formát souboru JPEG podporuje pouze jeden rámec. Vzhledem k tomu, že soubor v tomto příkladu je soubor JPEG, použije se první snímek (0). Formáty obrázků, které mají více snímků, najdete v tématu Jak načíst rámce obrázku pro přístup k jednotlivým snímkům obrázku.

  4. Zpracujte rámeček obrázku. Další informace o objektech IWICBitmapSource naleznete v Přehledu bitmapových zdrojů .

Viz také

Průvodce programováním

referenční

ukázky