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

Indica al objeto que genere píxeles.

Sintaxis

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

Parámetros

[in] prc

Tipo: const WICRect*

Rectángulo que se va a copiar. Un valor NULL especifica todo el mapa de bits.

[in] cbStride

Tipo: UINT

El paso del mapa de bits

[in] cbBufferSize

Tipo: UINT

Tamaño del búfer.

[out] pbBuffer

Tipo: BYTE*

Puntero al búfer.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

CopyPixels es una de las dos rutinas principales de procesamiento de imágenes (la otra es Lock) que desencadena el procesamiento real. Indica al objeto que genere píxeles según su algoritmo; esto puede implicar la descodificación de una parte de un JPEG almacenado en el disco, la copia de un bloque de memoria o incluso la computación analítica de un degradado complejo. El algoritmo depende completamente del objeto que implementa la interfaz.

El llamador puede restringir la operación a un rectángulo de interés (ROI) mediante el parámetro prc. El sub rectángulo roi debe estar totalmente contenido en los límites del mapa de bits. Especificar un ROI NULL implica que se debe devolver el mapa de bits completo.

El llamador controla la administración de memoria y debe proporcionar un búfer de salida (pbBuffer) para los resultados de la copia junto con los límites del búfer (cbBufferSize). El parámetro cbStride define el recuento de bytes entre dos píxeles adyacentes verticalmente en el búfer de salida. El autor de la llamada debe asegurarse de que hay suficiente búfer para completar la llamada en función del formato de ancho, alto y píxel del mapa de bits y del sub rectángulo proporcionado al método de copia.

Si el autor de la llamada necesita realizar numerosas copias de un IWICBitmapSource costoso, como un JPEG, se recomienda crear primero un IWICBitmap en memoria.

Comentarios del desarrollador de códecs

El destinatario solo debe escribir en el primer (prc-Width>*bitsperpixel+7)/8 bytes de cada línea del búfer de salida (en este caso, una línea es una cadena consecutiva de bytes cbStride ).

Requisitos

   
Cliente mínimo compatible Windows XP con SP2, Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincodec.h
Library Windowscodecs.lib
Archivo DLL Windowscodecs.dll