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

Weitere Informationen

IWICBitmapSource::CopyPixels

IWICDdsFrameDecode