Метод 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 |