Metodo IWICPlanarBitmapFrameEncode::WriteSource (wincodec.h)

Scrive righe dai piani di origine nel formato codificato.

Sintassi

HRESULT WriteSource(
  [in] IWICBitmapSource **ppPlanes,
       UINT             cPlanes,
       WICRect          *prcSource
);

Parametri

[in] ppPlanes

Tipo: IWICBitmapSource**

Specifica una matrice di IWICBitmapSource che rappresentano piani immagine.

cPlanes

Tipo: UINT

Numero di piani componente specificati dal parametro planes.

prcSource

Tipo: WICRect*

Rettangolo di origine di pixel da codificare dai piani IWICBitmapSource . Null indica l'intera origine. La larghezza del rect di origine deve corrispondere alla larghezza impostata tramite SetSize. È possibile effettuare chiamate WriteSource ripetute, purché l'altezza totale della rettifica di origine accumulata sia la stessa impostata tramite SetSize.

Valore restituito

Tipo: HRESULT

Se i piani e il rettangolo di origine non soddisfano i requisiti, questo metodo ha esito negativo con WINCODEC_ERR_IMAGESIZEOUTOFRANGE.

Se il formato IWICBitmapSource non soddisfa i requisiti del codificatore, questo metodo ha esito negativo con WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT.

Commenti

Si presuppone che le chiamate WriteSource successive vengano aggiunte in sequenza alle linee di analisi all'immagine di output. IWICBitmapFrameEncode::Initialize, IWICBitmapFrameEncode::SetSize e IWICBitmapFrameEncode::SetPixelFormat devono essere chiamati prima che questo metodo avrà esito negativo.

Il formato pixel interleaved impostato tramite IWICBitmapFrameEncode::SetPixelFormat e i parametri di codifica specifici del codec determinano i formati planari supportati.

Codificatore JPEG WIC: QueryInterface può essere usato per ottenere questa interfaccia dall'implementazione WIC JPEG IWICBitmapFrameEncode . Quando si usa questo metodo per codificare i dati Y'CbCr con il codificatore WIC JPEG, è possibile configurare il sottocampionamento cromatico con le opzioni del codificatore durante la creazione del frame. Per altri dettagli, vedere Cenni preliminari sulla codifica e IWICBitmapEncoder::CreateNewFrame .

A seconda del sottocampionamento cromatico configurato, il parametro lineCount presenta le restrizioni seguenti:

Sottocampionamento cromatico Coordinata X Coordinata Y Larghezza cromatica Altezza cromatica
4:2:0 Multiplo di 2 Multiplo di 2 lumaWidth / 2 Arrotondato fino all'intero più vicino. lumaHeight / 2 Arrotondato fino all'intero più vicino.
4:2:2 Multiplo di 2 Qualsiasi lumaWidth / 2 Arrotondato fino all'intero più vicino. Qualsiasi
4:4:4 Qualsiasi Qualsiasi Qualsiasi Qualsiasi
4:4:0 Qualsiasi Multiplo di 2 lumaWidth llumaHeight / 2 Arrotondato fino all'intero più vicino.
 

La larghezza completa della linea di analisi deve essere codificata e la larghezza delle origini bitmap deve corrispondere alla configurazione planare.

Inoltre, se un formato pixel viene impostato tramite IWICBitmapFrameEncode::SetPixelFormat, deve essere GUID_WICPixelFormat24bppBGR.

I formati pixel supportati delle origini bitmap passate in questo metodo sono i seguenti:

Conteggio piani Piano 1 Piano 2 Piano 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr N/D

Requisiti

   
Client minimo supportato Windows 8.1 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincodec.h
Libreria Windowscodecs.lib
DLL Windowscodecs.dll

Vedi anche

Panoramica della codifica

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode