Freigeben über


YCbCr-Effekt

Wandelt planare und farbuntersampelte JPEG YCbCr Daten in RGB um. Bei diesem Effekt wird davon ausgegangen, dass die YC-bCr Daten entsprechend dem JPEG-Standard formatiert ist. Daten für die Eingaben können von IWICPlanarBitmapSourceTransform abgerufen werden. Der YCbCr Effekt erfordert zwei Eingaben; Die erste muss eine DXGI_FORMAT_R8 Bitmap sein, die Luma-Daten enthält, und die zweite muss eine DXGI_FORMAT_R8G8 Bitmap sein, die subsampelte Chromadaten enthält. Weitere Informationen zur Verwendung dieses Effekts finden Sie unter JPEG YCbCr Support.

Die CLSID für diesen Effekt ist CLSID_D2D1YCbCr.

Effekteigenschaften

Anzeigename und Indexenumeration Beschreibung
ChromaSubsampling
D2D1_YCBCR_CHROMA_SUBSAMPLING
Gibt die Farbuntersampling des Eingabechrombilds an.
Der Typ ist D2D1_YCBCR_CHROMA_SUBSAMPLING.
Der Standardwert ist D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO.
TransformMatrix
D2D1_YCBCR_PROP_TRANSFORM_MATRIX
Eine 3x2-Matrix die achsenausrichtungsaffine Transformation des Bilds angibt. Achsenausrichtungstransformationen umfassen Skalierungs-, Flips- und 90-Grad-Drehungen.
Der Typ ist D2D1_MATRIX_3X2_F.
Der Standardwert ist Matrix3x2F::Identity().
InterpolationMode
D2D1_YCBCR_INTERPOLATION_MODE
Der Interpolationsmodus.
Der Typ ist D2D1_YCBCR_INTERPOLATION_MODE.

Untersamplingmodi

Aufzählung Beschreibung
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO
Dieser Modus versucht, die Farbuntersampling von den Grenzen der Eingabebilder abzuleiten. Wenn diese Option ausgewählt ist, wird die kleinere Ebene auf die Größe der größeren Ebene aufgesampelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen. Bei Verwendung dieses Modus sollten Sie beim Anwenden von Effekten auf die Eingabeebenen achten, die die Bildgrenzen ändern, z. B. die Rahmentransformation, damit das gewünschte Größenverhältnis zwischen den Ebenen beibehalten wird.
D2D1_YCBCR_CHROMA_SUBSAMPLING_420
Die Chromaebene wird horizontal durch und vertikal unterstempelt. Wenn diese Option ausgewählt ist, wird die Chromaebene horizontal und vertikal um 2x aufgestempelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen.
D2D1_YCBCR_CHROMA_SUBSAMPLING_422
Die Chromaebene wird horizontal unterstempelt. Wenn diese Option ausgewählt ist, wird die Farbebene horizontal um 2x aufgesampelt, und dieses Effekt-Ausgaberechteck ist die Schnittmenge der beiden Ebenen.
D2D1_YCBCR_CHROMA_SUBSAMPLING_444
Die Chromaebene ist nicht untersampelt. Wenn diese Option ausgewählt ist, ist das Ausgaberechteck dieses Effekts die Schnittmenge der beiden Ebenen.
D2D1_YCBCR_CHROMA_SUBSAMPLING_440
Die Chromaebene wird vertikal unterstempelt. Wenn diese Option ausgewählt ist, wird die Farbebene vertikal um 2x aufgesampelt, und dieses Effekt-Ausgaberechteck ist die Schnittmenge der beiden Ebenen.

Interpolationsmodi

Aufzählung Beschreibung
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR Gibt den nächstgelegenen einzelnen Punkt an und verwendet dies. Dieser Modus verwendet weniger Verarbeitungszeit, gibt jedoch das bild mit der niedrigsten Qualität aus.
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR Verwendet ein Beispiel mit vier Punkten und eine lineare Interpolation. Dieser Modus verwendet mehr Verarbeitungszeit als der nächste Nachbarmodus, gibt jedoch ein Bild mit höherer Qualität aus.
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC Verwendet einen 16 Beispiel-Kubikkern für die Interpolation. Dieser Modus verwendet die meiste Verarbeitungszeit, gibt jedoch ein Bild mit höherer Qualität aus.
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR Verwendet vier lineare Beispiele innerhalb eines einzelnen Pixels für eine gute Antialiasierung am Rand. Dieser Modus eignet sich gut für die Skalierung von kleinen Mengen an Bildern mit wenigen Pixeln.
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC Verwendet die anisotrope Filterung, um ein Muster gemäß der transformierten Form der Bitmap zu probieren.
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC Verwendet einen kubischen Kernel mit variabler Größe mit hoher Qualität, um ein Bild vorab zu verkleinern, wenn die Downscaling an der Transformationsmatrix beteiligt ist. Verwendet dann den kubischen Interpolationsmodus für die endgültige Ausgabe.

Ausgabebitmap

Die Größe der Ausgabebitmap hängt von der Transformationsmatrix ab, die auf das Bild angewendet wird.

Der Effekt führt den Transformationsvorgang aus und wendet dann ein umgebendes Feld um das Ergebnis an. Die Ausgabebitmap ist die Größe des umgebenden Felds.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8.1 [Desktop-Apps | Windows Store-Apps]
Mindestens unterstützter Server Windows Server 2012 R2 [Desktop-Apps | Windows Store-Apps]
Kopfball d2d1effects_1.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect-

JPEG YCbCr Support

IWICPlanarBitmapSourceTransform