YCbCr-Effekt
Konvertiert planare und chromauntersampelte JPEG YCbCr-Daten in RGB. Bei diesem Effekt wird davon ausgegangen, dass die YCbCr-Daten gemäß dem JPEG-Standard formatiert sind. 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 Lumadaten enthält, und die zweite muss eine DXGI_FORMAT_R8G8 Bitmap sein, die teilsampelte Chromadaten enthält. Weitere Informationen zur Verwendung dieses Effekts finden Sie unter JPEG YCbCr-Unterstützung.
Die CLSID für diesen Effekt ist CLSID_D2D1YCbCr.
- Effekteigenschaften
- Subsamplingmodi
- Interpolationsmodi
- Ausgabebitbitbit
- Anforderungen
- Zugehörige Themen
Effekteigenschaften
Anzeigename und Indexenumeration | Beschreibung |
---|---|
ChromaSubsampling D2D1_YCBCR_CHROMA_SUBSAMPLING |
Gibt die Chroma-Subsampling des Eingabe-Chroma-Bilds 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 die achsenbündige affine Transformation des Bilds angibt. Achsenorientierte Transformationen umfassen Skalierung, Flips und Drehungen um 90 Grad. 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. |
Subsamplingmodi
Enumeration | Beschreibung |
---|---|
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO |
In diesem Modus wird versucht, die Chroma-Subsampling von den Begrenzungen der Eingabebilder abzuleiten. Wenn diese Option ausgewählt ist, wird die kleinere Ebene auf die Größe der größeren Ebene hochstempelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen. Bei Verwendung dieses Modus sollte beim Anwenden von Effekten auf die Eingabeebenen, die die Bildgrenzen ändern, wie z. B. die Rahmentransformation, darauf geachtet werden, dass das gewünschte Größenverhältnis zwischen den Ebenen beibehalten wird. |
D2D1_YCBCR_CHROMA_SUBSAMPLING_420 |
Die Chromaebene wird horizontal von unterstempelt und vertikal von unterstempelt. Wenn diese Option ausgewählt ist, wird die Chromaebene horizontal und vertikal um das 2-fache hochstempelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen. |
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 |
Die Chromaebene wird horizontal durch unterstempelt. Wenn diese Option ausgewählt ist, wird die Chromaebene horizontal um das 2-fache hochstempelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen. |
D2D1_YCBCR_CHROMA_SUBSAMPLING_444 |
Die Chromaebene wird nicht unterstempelt. Wenn diese Option ausgewählt ist, ist dieses Ausgaberechteck die Schnittmenge der beiden Ebenen. |
D2D1_YCBCR_CHROMA_SUBSAMPLING_440 |
Die Chromaebene wird vertikal durch subsampiert. Wenn diese Option ausgewählt ist, wird die Chromaebene vertikal um das 2-fache hochstempelt, und dieses Ausgaberechteck ist die Schnittmenge der beiden Ebenen. |
Interpolationsmodi
Enumeration | Beschreibung |
---|---|
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR | Beispiele für den nächsten einzelnen Punkt und verwenden diesen. Dieser Modus verwendet weniger Verarbeitungszeit, gibt jedoch das Bild mit der niedrigsten Qualität aus. |
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR | Verwendet ein Vier-Punkt-Beispiel 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 Kubikkern mit 16 Beispielen 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 4 lineare Beispiele innerhalb eines einzelnen Pixels für gutes Antialiasing von Kanten. Dieser Modus eignet sich gut für das Herunterskalieren von kleinen Mengen auf Bildern mit wenigen Pixeln. |
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC | Verwendet die anisotrope Filterung, um ein Muster entsprechend der transformierten Form der Bitmap zu ermitteln. |
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC | Verwendet einen Kubikkern mit variabler Größe hoher Qualität, um eine Vorabskalierung des Bilds durchzuführen, wenn eine Downskalierung in die Transformationsmatrix einbezogen wird. Verwendet dann den kubischen Interpolationsmodus für die endgültige Ausgabe. |
Ausgabebitbitbit
Die Größe der Ausgabebitbitte hängt von der Transformationsmatrix ab, die auf das Bild angewendet wird.
Der Effekt führt den Transformationsvorgang aus und wendet dann ein Begrenzungsfeld um das Ergebnis an. Die Ausgabebitbitte ist die Größe des Begrenzungsrahmens.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1 [Desktop-Apps | Windows Store-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 [Desktop-Apps | Windows Store-Apps] |
Header | d2d1effects_1.h |
Bibliothek | d2d1.lib, dxguid.lib |