Metodo IWICPlanarBitmapFrameEncode::WritePixels (wincodec.h)
Scrive righe dai piani di origine nel formato codificato.
Sintassi
HRESULT WritePixels(
UINT lineCount,
[in] WICBitmapPlane *pPlanes,
UINT cPlanes
);
Parametri
lineCount
Tipo: UINT
Numero di righe da codificare. Vedere la sezione Osservazioni per le restrizioni relative al conteggio delle righe specifiche di WIC Jpeg.
[in] pPlanes
Tipo: WICBitmapPlane*
Specifica i buffer di origine per ogni piano componente codificato.
cPlanes
Tipo: UINT
Numero di piani componente specificati dal parametro pPlanes .
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 WritePixels successive vengano aggiunte in sequenza 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 | Restrizione del numero di righe | Larghezza piano Chroma | Altezza piano Chroma |
---|---|---|---|
4:2:0 | Multiplo di 2, a meno che la chiamata non copre l'ultima analisi dell'immagine | lumaWidth / 2 Arrotondato fino all'intero più vicino. | lumaHeight / 2 Arrotondato fino all'intero più vicino. |
4:2:2 | Qualsiasi | lumaWidth / 2 Arrotondato fino all'intero più vicino. | Qualsiasi |
4:4:4 | Qualsiasi | Qualsiasi | Qualsiasi |
4:4:0 | Multiplo di 2, a meno che la chiamata non copre l'ultima analisi dell'immagine | Qualsiasi | 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
Requisito | Valore |
---|---|
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 |