IWICDdsFrameDecode::CopyBlocks-Methode (wincodec.h)
Fordert Pixeldaten an, da sie nativ in der DDS-Datei gespeichert werden.
Syntax
HRESULT CopyBlocks(
[in] const WICRect *prcBoundsInBlocks,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
Parameter
[in] prcBoundsInBlocks
Typ: const WICRect*
Das Rechteck, das aus der Quelle kopiert werden soll. Ein NULL-Wert gibt die gesamte Textur an.
Wenn die Textur einen blockkomprimierten DXGI_FORMAT verwendet, werden alle Werte des Rechtecks in Anzahl von Blöcken und nicht in Pixeln ausgedrückt.
[in] cbStride
Typ: UINT
Die Schrittfolge des Zielpuffers in Bytes. Dies stellt die Anzahl der Bytes vom Pufferzeiger auf die nächste Datenzeile dar. Wenn die Textur einen blockkomprimierten DXGI_FORMAT verwendet, wird eine "Datenzeile" als eine Zeile von Blöcken definiert, die mehrere Pixelscanlinien enthält.
[in] cbBufferSize
Typ: UINT
Die Größe des Zielpuffers in Bytes.
[out] pbBuffer
Typ: BYTE*
Ein Zeiger auf den Zielpuffer.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Wenn die Textur keine blockkomprimierte DXGI_FORMAT verwendet, verhält sich diese Methode ähnlich wie IWICBitmapSource::CopyPixels. Es führt jedoch keine Pixelformatkonvertierung durch und erzeugt stattdessen die Rohdaten aus der DDS-Datei.
Wenn die Textur einen blockkomprimierten DXGI_FORMAT verwendet, kopiert diese Methode die Blockdaten direkt in den bereitgestellten Puffer. In diesem Fall wird der PrcBoundsInBlocks-Parameter in Blöcken und nicht in Pixeln definiert. Um festzustellen, ob dies der Fall ist, rufen Sie GetFormatInfo auf, und lesen Sie den DxgiFormat-Member der zurückgegebenen WICDdsFormatInfo-Struktur .
Anforderungen
Anforderung | Wert |
---|---|
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 |