Bitmap::ApplyEffect(Bitmap**,INT,Effect*,RECT*,RECT*,Bitmap**) (gdiplusheaders.h)
El método Bitmap::ApplyEffect crea un nuevo objeto Bitmap aplicando un efecto especificado a un objeto Bitmap existente.
Sintaxis
Status ApplyEffect(
[in] Bitmap **inputs,
[in] INT numInputs,
[in] Effect *effect,
[in] RECT *ROI,
[out] RECT *outputRect,
[out] Bitmap **output
);
Parámetros
[in] inputs
Tipo: Mapa de bits**
Dirección de un puntero a un objeto Bitmap al que se aplica el efecto.
[in] numInputs
Tipo: INT
Entero que especifica el número de mapas de bits de entrada. Este parámetro debe establecerse en 1.
[in] effect
Tipo: Efecto*
Puntero a una instancia de un descendiente de la clase Effect . El descendiente (por ejemplo, un objeto Blur ) especifica el efecto que se aplica.
[in] ROI
Tipo: RECT*
Puntero a una estructura RECT que especifica la parte del mapa de bits de entrada que se usa.
[out] outputRect
Tipo: RECT*
Puntero a una estructura RECT que recibe la parte del mapa de bits de entrada que se usó. Si el rectángulo especificado por ROI se encuentra completamente dentro del mapa de bits de entrada, el rectángulo devuelto en outputRect es el mismo que roi. Si parte del rectángulo especificado por ROI se encuentra fuera del mapa de bits de entrada, el rectángulo devuelto en outputRect es la parte de ROI que se encuentra dentro del mapa de bits de entrada. Pase NULL si no desea recibir el rectángulo de salida.
[out] output
Tipo: Mapa de bits**
Dirección de una variable que recibe un puntero al nuevo objeto Bitmap .
Valor devuelto
Tipo: Estado
Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .
Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .
Comentarios
Bitmap::ApplyEffect devuelve un puntero a un nuevo objeto Bitmap . Cuando haya terminado de usar ese objeto Mapa de bits, llame a delete para liberar la memoria que ocupa.
Ejemplos
En el ejemplo siguiente se crean dos objetos Bitmap : inputBitmap y outputBitmap. En primer lugar, inputBitmap se construye a partir de un archivo BMP. A continuación, outputBitmap se crea pasando la dirección de inputBitmap al método Bitmap::ApplyEffect . Bitmap::ApplyEffect toma la parte de inputBitmap especificada por rectOfInterest y aumenta el contraste especificado por briCon, un objeto 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;
}
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | gdiplusheaders.h (include Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |