Partager via


Méthode IWICDdsFrameDecode ::CopyBlocks (wincodec.h)

Demande des données de pixels telles qu’elles sont stockées en mode natif dans le fichier DDS.

Syntaxe

HRESULT CopyBlocks(
  [in]  const WICRect *prcBoundsInBlocks,
  [in]  UINT          cbStride,
  [in]  UINT          cbBufferSize,
  [out] BYTE          *pbBuffer
);

Paramètres

[in] prcBoundsInBlocks

Type : const WICRect*

Rectangle à copier à partir de la source. Une valeur NULL spécifie la texture entière.

Si la texture utilise une DXGI_FORMAT compressée par bloc, toutes les valeurs du rectangle sont exprimées en nombre de blocs, et non en pixels.

[in] cbStride

Type : UINT

La foulée, en octets, de la mémoire tampon de destination. Cela représente le nombre d’octets du pointeur de la mémoire tampon vers la ligne de données suivante. Si la texture utilise une DXGI_FORMAT compressée par bloc, une « ligne de données » est définie comme une ligne de blocs qui contient plusieurs lignes de balayage de pixels.

[in] cbBufferSize

Type : UINT

Taille, en octets, de la mémoire tampon de destination.

[out] pbBuffer

Type : BYTE*

Pointeur vers la mémoire tampon de destination.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Si la texture n’utilise pas de DXGI_FORMAT compressé par bloc, cette méthode se comporte de la même façon que IWICBitmapSource ::CopyPixels. Toutefois, il n’effectue aucune conversion de format de pixels et produit à la place les données brutes à partir du fichier DDS.

Si la texture utilise une DXGI_FORMAT compressée par bloc, cette méthode copie les données de bloc directement dans la mémoire tampon fournie. Dans ce cas, le paramètre prcBoundsInBlocks est défini en blocs, et non en pixels. Pour déterminer si c’est le cas, appelez GetFormatInfo et lisez le membre DxgiFormat de la structure WICDdsFormatInfo retournée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête wincodec.h
Bibliothèque Windowscodecs.lib
DLL Windowscodecs.dll

Voir aussi

IWICBitmapSource ::CopyPixels

IWICDdsFrameDecode