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 |