Condividi tramite


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

Vedi anche

Panoramica della codifica

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode