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


Метод Bitmap::ApplyEffect(Bitmap**;INT;Effect*;RECT*;RECT*;Bitmap**) (gdiplusheaders.h)

Метод Bitmap::ApplyEffect создает новый объект Bitmap , применяя указанный эффект к существующему объекту Bitmap .

Синтаксис

Status ApplyEffect(
  [in]  Bitmap **inputs,
  [in]  INT    numInputs,
  [in]  Effect *effect,
  [in]  RECT   *ROI,
  [out] RECT   *outputRect,
  [out] Bitmap **output
);

Параметры

[in] inputs

Тип: растровое изображение**

Адрес указателя на объект Bitmap , к которому применяется эффект.

[in] numInputs

Тип: INT

Целое число, указывающее количество входных растровых изображений. Этот параметр должен иметь значение 1.

[in] effect

Тип: Эффект*

Указатель на экземпляр потомка класса Effect . Потомок (например, объект Blur ) указывает применяемый эффект.

[in] ROI

Тип: RECT*

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

[out] outputRect

Тип: RECT*

Указатель на структуру RECT, которая получает часть использованного входного растрового изображения. Если прямоугольник, заданный roi , полностью находится в пределах входного растрового изображения, прямоугольник, возвращаемый в outputRect , будет таким же, как ROI. Если часть прямоугольника, указанная roi, находится за пределами входного растрового изображения, то прямоугольник, возвращаемый в outputRect , является частью ROI , которая находится во входном растровом рисунке. Передайте значение NULL , если вы не хотите получать выходной прямоугольник.

[out] output

Тип: растровое изображение**

Адрес переменной, получающей указатель на новый объект Bitmap .

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

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

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

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

Комментарии

Bitmap::ApplyEffect возвращает указатель на новый объект Bitmap . Завершив использование этого объекта Bitmap , вызовите метод delete , чтобы освободить занимаемую им память.

Примеры

В следующем примере создаются два объекта Bitmap : inputBitmap и outputBitmap. Во-первых, inputBitmap создается из BMP-файла. Затем создается outputBitmap путем передачи адреса inputBitmap методу Bitmap::ApplyEffect . Bitmap::ApplyEffect принимает часть inputBitmap , заданную параметром rectOfInterest , и увеличивает контрастность, как указано в briCon, объекте BrightnessContrast .

VOID Example_BrightnessContrastApplyEffect2(HDC hdc)
{
   Graphics graphics(hdc);
   Bitmap* inputBitmap = new Bitmap(L"Picture.bmp");
   Bitmap* outputBitmap = NULL;  
   RECT rectOfInterest = {10, 12, 100, 80};
  
   BrightnessContrastParams briConParams;
   briConParams.brightnessLevel = 0;
   briConParams.contrastLevel = 25;
   BrightnessContrast briCon;
   briCon.SetParameters(&briConParams);

   // Draw the original image.
   graphics.DrawImage(inputBitmap, 20, 20);

   // Apply the change in contrast.
   Bitmap::ApplyEffect(
      &inputBitmap, 1, &briCon, &rectOfInterest, NULL, &outputBitmap);

   // Draw the new image.
   graphics.DrawImage(outputBitmap, 200, 20);

   delete inputBitmap;
   delete outputBitmap;
}

Требования

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

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

Bitmap

Bitmap::ApplyEffect Methods