Méthode IWICPlanarBitmapFrameEncode ::WritePixels (wincodec.h)

Écrit les lignes des plans sources au format codé.

Syntaxe

HRESULT WritePixels(
       UINT           lineCount,
  [in] WICBitmapPlane *pPlanes,
       UINT           cPlanes
);

Paramètres

lineCount

Type : UINT

Nombre de lignes à encoder. Consultez la section Remarques pour connaître les restrictions relatives au nombre de lignes spécifiques à WIC Jpeg.

[in] pPlanes

Type : WICBitmapPlane*

Spécifie les mémoires tampons sources pour chaque plan de composant encodé.

cPlanes

Type : UINT

Nombre de plans de composants spécifiés par le paramètre pPlanes .

Valeur retournée

Type : HRESULT

Si les plans et le rectangle source ne répondent pas aux exigences, cette méthode échoue avec WINCODEC_ERR_IMAGESIZEOUTOFRANGE.

Si le format IWICBitmapSource ne répond pas aux exigences de l’encodeur, cette méthode échoue avec WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT.

Remarques

Les appels WritePixels successifs sont supposés ajouter séquentiellement des lignes de balayage à l’image de sortie. IWICBitmapFrameEncode ::Initialize, IWICBitmapFrameEncode ::SetSize et IWICBitmapFrameEncode ::SetPixelFormat doivent être appelés avant que cette méthode échoue.

Le format de pixel entrelacé défini via IWICBitmapFrameEncode ::SetPixelFormat et les paramètres de codage spécifiques au codec déterminent les formats planaires pris en charge.

Encodeur JPEG WIC : QueryInterface peut être utilisé pour obtenir cette interface à partir de l’implémentation WIC JPEG IWICBitmapFrameEncode . Lorsque vous utilisez cette méthode pour encoder des données Y’CbCr avec l’encodeur JPEG WIC, le sous-échantillonnage chroma peut être configuré avec les options d’encodeur lors de la création de la trame. Pour plus d’informations, consultez Vue d’ensemble de l’encodage et IWICBitmapEncoder ::CreateNewFrame .

Selon le sous-échantillonnage chroma configuré, le paramètre lineCount présente les restrictions suivantes :

Sous-échantillonnage chroma Restriction du nombre de lignes Largeur du plan chromatique Hauteur du plan chromatique
4:2:0 Multiple de 2, sauf si l’appel couvre la dernière ligne de balayage de l’image lumaWidth / 2 arrondi à l’entier le plus proche. lumaHeight / 2 arrondi à l’entier le plus proche.
4:2:2 Quelconque lumaWidth / 2 arrondi à l’entier le plus proche. Quelconque
4:4:4 Quelconque Quelconque Quelconque
4:4:0 Multiple de 2, sauf si l’appel couvre la dernière ligne de balayage de l’image Quelconque llumaHeight / 2 arrondi à l’entier le plus proche.
 

La largeur complète de la ligne de balayage doit être encodée, et la largeur des sources bitmap doit correspondre à leur configuration planaire.

En outre, si un format de pixel est défini via IWICBitmapFrameEncode ::SetPixelFormat, il doit être GUID_WICPixelFormat24bppBGR.

Les formats de pixels pris en charge des sources bitmap passées dans cette méthode sont les suivants :

Nombre de plans Plan 1 Plan 2 Plan 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr N/A

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête wincodec.h
Bibliothèque Windowscodecs.lib
DLL Windowscodecs.dll

Voir aussi

Vue d’ensemble de l’encodage

IWICBitmapEncoder ::CreateNewFrame

IWICPlanarBitmapFrameEncode