Метод Bitmap::LockBits (gdiplusheaders.h)

Метод Bitmap::LockBits блокирует прямоугольную часть этого растрового изображения и предоставляет временный буфер, который можно использовать для чтения или записи пиксельных данных в указанном формате. Все пиксельные данные, записываемые в буфер, копируются в объект Bitmap при вызове Bitmap::UnlockBits.

Синтаксис

Status LockBits(
  [in]      const Rect  *rect,
  [in]      UINT        flags,
  [in]      PixelFormat format,
  [in, out] BitmapData  *lockedBitmapData
);

Параметры

[in] rect

Тип: const Rect*

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

[in] flags

Тип: UINT

Набор флагов, указывающих, доступна ли заблокированная часть растрового рисунка для чтения или записи, а также выделен ли вызывающим объектом буфер. Отдельные флаги определяются в перечислении ImageLockMode .

[in] format

Тип: PixelFormat

Целое число, указывающее формат пиксельных данных во временном буфере. Формат пикселей временного буфера не обязательно должен совпадать с форматом пикселей этого растрового объекта. Тип данных PixelFormat и константы, представляющие различные форматы пикселей, определяются в Gdipluspixelformats.h. Дополнительные сведения о константах формата пикселей см. в разделе Константы формата пикселей изображения. GDI+ версии 1.0 не поддерживает обработку 16-разрядных изображений на канал, поэтому не следует задавать этот параметр равным PixelFormat48bppRGB, PixelFormat64bppARGB или PixelFormat64bppPARGB.

[in, out] lockedBitmapData

Тип: BitmapData*

Указатель на объект BitmapData . Если флаг ImageLockModeUserInputBuf параметра flags снят, то lockedBitmapData выступает только в качестве выходного параметра. В этом случае элемент данных Scan0 объекта BitmapData получает указатель на временный буфер, который заполняется значениями запрошенных пикселей. Другие элементы данных объекта BitmapData получают атрибуты (ширина, высота, формат и шаг) пиксельных данных во временном буфере. Если пиксельные данные хранятся снизу вверх, элемент данных Stride будет отрицательным. Если пиксельные данные хранятся сверху вниз, элемент данных Stride будет положительным. Если установлен флаг ImageLockModeUserInputBuf параметра flags , то lockedBitmapData служит входным параметром (и, возможно, выходным параметром). В этом случае вызывающий объект должен выделить буфер для пиксельных данных, которые будут считываться или записываться. Вызывающий объект также должен создать объект BitmapData , задать для элемента данных Scan0 этого объекта BitmapData адрес буфера и задать другие элементы данных объекта BitmapData , чтобы указать атрибуты буфера (ширина, высота, формат и шаг) буфера.

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

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusheaders.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

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

Bitmap

Bitmap::UnlockBits

Bitmapdata

Изображение

Константы формата пикселей изображения

ImageLockMode

Работа с растровыми и векторными изображениями с использованием классов Image, Bitmap и Metafile

Использование изображений, точечных изображений и метафайлов