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

Copia los datos de píxeles mediante los parámetros de entrada proporcionados.

Sintaxis

HRESULT CopyPixels(
  [in]  const WICRect             *prc,
  [in]  UINT                      uiWidth,
  [in]  UINT                      uiHeight,
  [in]  WICPixelFormatGUID        *pguidDstFormat,
  [in]  WICBitmapTransformOptions dstTransform,
  [in]  UINT                      nStride,
  [in]  UINT                      cbBufferSize,
  [out] BYTE                      *pbBuffer
);

Parámetros

[in] prc

Tipo: const WICRect*

Rectángulo de píxeles que se va a copiar.

[in] uiWidth

Tipo: UINT

Ancho que se va a escalar el mapa de bits de origen. Este parámetro debe ser igual al valor que se puede obtener a través de IWICBitmapSourceTransform::GetClosestSize.

[in] uiHeight

Tipo: UINT

Alto para escalar el mapa de bits de origen. Este parámetro debe ser igual al valor que se puede obtener a través de IWICBitmapSourceTransform::GetClosestSize.

[in] pguidDstFormat

Tipo: WICPixelFormatGUID*

GUID del formato de píxel deseado en el que se deben devolver los píxeles.

Este GUID debe ser un formato obtenido a través de una llamada GetClosestPixelFormat .

[in] dstTransform

Tipo: WICBitmapTransformOptions

Rotación deseada o volteo que se va a realizar antes de la copia de píxeles.

La transformación debe ser una operación compatible con una llamada DoesSupportTransform .

Si se especifica un dstTransform , nStride es el intervalo transformado y se basa en el formato de píxel pguidDstFormat , no en el formato de píxel del origen original.

[in] nStride

Tipo: UINT

Intervalo del búfer de destino.

[in] cbBufferSize

Tipo: UINT

Tamaño del búfer de destino.

[out] pbBuffer

Tipo: BYTE*

Búfer de salida.

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

Comentarios del desarrollador de códecs

Si se pasa NULL para prc, se copia toda la imagen.

Para obtener información detallada sobre la implementación del desarrollador de códecs para este método, consulte Implementación de IWICBitmapSourceTransform.

Cuando se solicitan varias operaciones de transformación, el resultado depende del orden en que se realizan las operaciones. Para garantizar la previsibilidad y la coherencia entre CODEC, es importante que todos los CODEC realicen estas operaciones en el mismo orden. El orden recomendado de estas operaciones es:

  1. Escala
  2. Recortar
  3. Voltear o girar

La conversión de formato de píxel se puede realizar en cualquier momento, ya que no tiene ningún efecto en las demás transformaciones.

El primer parámetro, prc se usa para especificar la región de interés para recortar la imagen. Por convención, el escalado se realiza antes de recortarlo, por lo que, si la imagen se va a escalar, así como recortarla, la región de interés debe determinarse después de que se haya escalado la imagen.

Si se especifica un dstTransform , el paso es el paso transformado y se basa en el pixelFormat especificado en la llamada a CopyPixels , no en el formato de píxel del fotograma original.

Requisitos

Requisito Value
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

Consulte también

Conceptual

IWICBitmapSourceTransform

Códec de creación de imágenes de Microsoft Windows

Guía de programación

Referencias

Ejemplos y ejemplos de código