Méthode IWICBitmapSource::CopyPixels (wincodec.h)

Indique à l’objet de produire des pixels.

Syntaxe

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

Paramètres

[in] prc

Type : const WICRect*

Rectangle à copier. Une valeur NULL spécifie l’intégralité de l’image bitmap.

[in] cbStride

Type : UINT

La foulée de la bitmap

[in] cbBufferSize

Type : UINT

Taille de la mémoire tampon.

[out] pbBuffer

Type : BYTE*

Pointeur vers la mémoire tampon.

Valeur retournée

Type : HRESULT

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

Remarques

CopyPixels est l’une des deux main routines de traitement d’images (l’autre étant Lock) déclenchant le traitement réel. Il indique à l’objet de produire des pixels en fonction de son algorithme , ce qui peut impliquer le décodage d’une partie d’un JPEG stocké sur disque, la copie d’un bloc de mémoire ou même le calcul analytique d’un gradient complexe. L’algorithme dépend entièrement de l’objet qui implémente l’interface.

L’appelant peut limiter l’opération à un rectangle d’intérêt (ROI) à l’aide du paramètre prc. Le sous-rectangle roi doit être entièrement contenu dans les limites de la bitmap. La spécification d’un retour sur investissement NULL implique que l’ensemble de l’image bitmap doit être retourné.

L’appelant contrôle la gestion de la mémoire et doit fournir une mémoire tampon de sortie (pbBuffer) pour les résultats de la copie ainsi que les limites de la mémoire tampon (cbBufferSize). Le paramètre cbStride définit le nombre d’octets entre deux pixels adjacents verticalement dans la mémoire tampon de sortie. L’appelant doit s’assurer que la mémoire tampon est suffisante pour terminer l’appel en fonction de la largeur, de la hauteur et du format de pixels de l’image bitmap et du sous-rectangle fournis à la méthode copy.

Si l’appelant doit effectuer de nombreuses copies d’un IWICBitmapSource coûteux tel qu’un fichier JPEG, il est recommandé de créer d’abord un IWICBitmap en mémoire.

Remarques des développeurs de codecs

L’appelé doit uniquement écrire dans la première (prc-Width>*bitsperpixel+7)/8 octets de chaque ligne de la mémoire tampon de sortie (dans ce cas, une ligne est une chaîne consécutive d’octets cbStride ).

Configuration requise

   
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincodec.h
Bibliothèque Windowscodecs.lib
DLL Windowscodecs.dll