Freigeben über


Bitmap::ApplyEffect(Bitmap**,INT,Effect*,RECT*,RECT*,Bitmap**)-Methode (gdiplusheaders.h)

Die Bitmap::ApplyEffect-Methode erstellt ein neues Bitmap-Objekt , indem ein angegebener Effekt auf ein vorhandenes Bitmap-Objekt angewendet wird.

Syntax

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

Parameter

[in] inputs

Typ: Bitmap**

Adresse eines Zeigers auf ein Bitmap-Objekt , auf das der Effekt angewendet wird.

[in] numInputs

Typ: INT

Eine ganze Zahl, die die Anzahl der Eingabebitbitbits angibt. Dieser Parameter muss auf 1 festgelegt werden.

[in] effect

Typ: Effekt*

Zeiger auf eine instance eines Nachfolgers der Effect-Klasse. Der Nachfolger (z. B. ein Blur-Objekt ) gibt den angewendeten Effekt an.

[in] ROI

Typ: RECT*

Zeiger auf eine RECT-Struktur, die den Teil der verwendeten Eingabebitte angibt.

[out] outputRect

Typ: RECT*

Zeiger auf eine RECT-Struktur, die den Teil der verwendeten Eingabebit empfängt. Wenn sich das durch ROI angegebene Rechteck vollständig innerhalb der Eingabebitmap befindet, entspricht das in outputRect zurückgegebene Rechteck dem ROI. Wenn ein teil des durch ROI angegebenen Rechtecks außerhalb der Eingabebit liegt, ist das in outputRect zurückgegebene Rechteck der Teil des ROI , der innerhalb der Eingabebitbit liegt. Übergeben Sie NULL , wenn Sie das Ausgaberechteck nicht empfangen möchten.

[out] output

Typ: Bitmap**

Adresse einer Variablen, die einen Zeiger auf das neue Bitmap-Objekt empfängt.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Hinweise

Bitmap::ApplyEffect gibt einen Zeiger auf ein neues Bitmap-Objekt zurück. Wenn Sie die Verwendung dieses Bitmap-Objekts abgeschlossen haben, rufen Sie delete auf, um den belegten Arbeitsspeicher freizugeben.

Beispiele

Im folgenden Beispiel werden zwei Bitmap-Objekte erstellt: inputBitmap und outputBitmap. Zunächst wird inputBitmap aus einer BMP-Datei erstellt. Anschließend wird outputBitmap erstellt, indem die Adresse von inputBitmap an die Bitmap::ApplyEffect-Methode übergeben wird. Bitmap::ApplyEffect übernimmt den von rectOfInterest angegebenen Teil von inputBitmap und erhöht den Kontrast, wie von briCon, einem BrightnessCon-Objekt angegeben.

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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusheaders.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Bitmap

Bitmap::ApplyEffect-Methoden