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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour