Share via


IWICPlanarBitmapFrameEncode::WriteSource-Methode (wincodec.h)

Schreibt Zeilen von den Quellebenen in das codierte Format.

Syntax

HRESULT WriteSource(
  [in] IWICBitmapSource **ppPlanes,
       UINT             cPlanes,
       WICRect          *prcSource
);

Parameter

[in] ppPlanes

Typ: IWICBitmapSource**

Gibt ein Array von IWICBitmapSource an, das Bildebenen darstellt.

cPlanes

Typ: UINT

Die Anzahl der komponentenebenen, die durch den Parameter "planes" angegeben wird.

prcSource

Typ: WICRect*

Das Quellrechteck von Pixeln, die aus den IWICBitmapSource-Ebenen codiert werden sollen. Null gibt die gesamte Quelle an. Die Breite des Quellrekts muss mit der breite übereinstimmen, die über SetSize festgelegt wurde. Wiederholte WriteSource-Aufrufe können ausgeführt werden, solange die gesamt akkumulierte Quellrekthöhe mit der durch SetSize festgelegten identisch ist.

Rückgabewert

Typ: HRESULT

Wenn die Ebenen und das Quellrechteck die Anforderungen nicht erfüllen, schlägt diese Methode mit WINCODEC_ERR_IMAGESIZEOUTOFRANGE fehl.

Wenn das IWICBitmapSource-Format die Encoderanforderungen nicht erfüllt, schlägt diese Methode mit WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT fehl.

Hinweise

Es wird davon ausgegangen, dass nachfolgende WriteSource-Aufrufe dem Ausgabebild sequenziell Scanlines hinzufügen. IWICBitmapFrameEncode::Initialize, IWICBitmapFrameEncode::SetSize und IWICBitmapFrameEncode::SetFormat müssen aufgerufen werden, bevor diese Methode fehlschlägt.

Das über IWICBitmapFrameEncode::SetPixelFormat festgelegte verschachtelte Pixelformat und die codecspezifischen Codierungsparameter bestimmen die unterstützten planaren Formate.

WIC JPEG Encoder: QueryInterface kann verwendet werden, um diese Schnittstelle aus der WIC JPEG IWICBitmapFrameEncode-Implementierung abzurufen. Wenn Sie diese Methode verwenden, um Y'CbCr-Daten mit dem WIC JPEG-Encoder zu codieren, kann die Chroma-Subsampling während der Frameerstellung mit Encoderoptionen konfiguriert werden. Weitere Informationen finden Sie unter Codierungsübersicht und IWICBitmapEncoder::CreateNewFrame .

Abhängig von der konfigurierten Chroma-Untersampling hat der parameter lineCount die folgenden Einschränkungen:

Chroma-Untersampling x-Koordinate y-Koordinate Farbbreite Chromahöhe
4:2:0 Vielfaches von 2 Vielfaches von 2 lumaWidth / 2 Auf die nächste ganze Zahl aufgerundet. lumaHeight / 2 Auf die nächste ganze Zahl aufgerundet.
4:2:2 Vielfaches von 2 Any lumaWidth / 2 Auf die nächste ganze Zahl aufgerundet. Any
4:4:4 Any Any Any Any
4:4:0 Any Vielfaches von 2 lumaWidth llumaHeight / 2 Auf die nächste ganze Zahl aufgerundet.
 

Die gesamte Scanlinebreite muss codiert sein, und die Breite der Bitmapquellen muss mit ihrer planaren Konfiguration übereinstimmen.

Wenn ein Pixelformat über IWICBitmapFrameEncode::SetPixelFormat festgelegt wird, muss es GUID_WICPixelFormat24bppBGR werden.

Die unterstützten Pixelformate der Bitmapquellen, die an diese Methode übergeben werden, sind wie folgt:

Ebenenanzahl Ebene 1 Ebene 2 Ebene 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8.1 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincodec.h
Bibliothek Windowscodecs.lib
DLL Windowscodecs.dll

Weitere Informationen

Übersicht über die Codierung

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode