Compartir a través de


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

Consulte también

Bitmap

Métodos Bitmap::ApplyEffect