Método Bitmap::ApplyEffect(Bitmap**,INT,Effect*,RECT*,RECT*,Bitmap**) (gdiplusheaders.h)

O método Bitmap::ApplyEffect cria um novo objeto Bitmap aplicando um efeito especificado a um objeto Bitmap existente.

Sintaxe

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: Bitmap**

Endereço de um ponteiro para um objeto Bitmap ao qual o efeito é aplicado.

[in] numInputs

Tipo: INT

Inteiro que especifica o número de bitmaps de entrada. Esse parâmetro deve ser definido como 1.

[in] effect

Tipo: Efeito*

Ponteiro para uma instância de um descendente da classe Effect . O descendente (por exemplo, um objeto Blur ) especifica o efeito aplicado.

[in] ROI

Tipo: RECT*

Ponteiro para uma estrutura RECT que especifica a parte do bitmap de entrada usada.

[out] outputRect

Tipo: RECT*

Ponteiro para uma estrutura RECT que recebe a parte do bitmap de entrada que foi usado. Se o retângulo especificado pelo ROI estiver inteiramente dentro do bitmap de entrada, o retângulo retornado em outputRect será o mesmo que ROI. Se parte do retângulo especificado por ROI estiver fora do bitmap de entrada, o retângulo retornado em outputRect será a parte do ROI que está dentro do bitmap de entrada. Passe NULL se você não quiser receber o retângulo de saída.

[out] output

Tipo: Bitmap**

Endereço de uma variável que recebe um ponteiro para o novo objeto Bitmap .

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

Bitmap::ApplyEffect retorna um ponteiro para um novo objeto Bitmap . Quando terminar de usar esse objeto Bitmap , chame delete para liberar a memória que ele ocupa.

Exemplos

O exemplo a seguir cria dois objetos Bitmap : inputBitmap e outputBitmap. Primeiro, inputBitmap é construído a partir de um arquivo BMP. Em seguida , outputBitmap é criado passando o endereço de inputBitmap para o método Bitmap::ApplyEffect . Bitmap::ApplyEffect usa a parte de inputBitmap especificada por rectOfInterest e aumenta o contraste conforme especificado por briCon, um 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 com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdiplusheaders.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Bitmap

Métodos Bitmap::ApplyEffect