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 |