Поделиться через


Метод IWICBitmapSourceTransform::CopyPixels (wincodec.h)

Копирует пиксельные данные с помощью предоставленных входных параметров.

Синтаксис

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
);

Параметры

[in] prc

Тип: const WICRect*

Прямоугольник пикселей для копирования.

[in] uiWidth

Тип: UINT

Ширина для масштабирования исходного растрового изображения. Этот параметр должен равняться значению, которое можно получить с помощью IWICBitmapSourceTransform::GetClosestSize.

[in] uiHeight

Тип: UINT

Высота для масштабирования исходного растрового изображения. Этот параметр должен равняться значению, которое можно получить с помощью IWICBitmapSourceTransform::GetClosestSize.

[in] pguidDstFormat

Тип: WICPixelFormatGUID*

GUID требуемого формата пикселей, в котором должны возвращаться пиксели.

Этот GUID должен быть форматом, полученным с помощью вызова GetClosestPixelFormat .

[in] dstTransform

Тип: WICBitmapTransformOptions

Требуемый поворот или пролистывание, выполняемые перед копированием пикселей.

Преобразование должно быть операцией, поддерживаемой вызовом DoesSupportTransform .

Если указан параметр dstTransform , nStride — это преобразованный шаг , основанный на формате пикселей pguidDstFormat , а не исходном формате пикселей источника.

[in] nStride

Тип: UINT

Шаг буфера назначения.

[in] cbBufferSize

Тип: UINT

Размер буфера назначения.

[out] pbBuffer

Тип: BYTE*

Выходной буфер.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Примечания разработчика кодека

Если для prc передается значение NULL, копируется весь образ.

Сведения о реализации для разработчика кодека для этого метода см. в разделе Реализация IWICBitmapSourceTransform.

При запросе нескольких операций преобразования результат зависит от порядка выполнения операций. Чтобы обеспечить предсказуемость и согласованность кодеков, важно, чтобы все кодеки выполняли эти операции в одном порядке. Рекомендуемый порядок этих операций:

  1. Масштабирование
  2. Crop
  3. Переворачивание и поворот

Преобразование формата пикселей можно выполнить в любое время, так как оно не влияет на другие преобразования.

Первый параметр prc используется для указания интересующей области для обрезки изображения. По соглашению масштабирование выполняется до обрезки, поэтому, если требуется масштабировать и обрезать изображение, то после масштабирования изображения следует определить интересующую область.

Если указан dstTransform , шаг является преобразованным шагом и основан на pixelFormat, указанном в вызове CopyPixels , а не на формате пикселей исходного кадра.

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2), Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincodec.h
Библиотека Windowscodecs.lib

См. также раздел

Основные понятия

IWICBitmapSourceTransform

Microsoft Windows Imaging Codec

Руководство по программированию

Справочные материалы

Примеры и примеры кода