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 |