Share via


Effect::GetAuxData-Methode (gdipluseffects.h)

Effect::GetAuxData ruft einen Zeiger auf eine Reihe von Nachschlagetabellen ab, die durch einen vorherigen Aufruf der Bitmap::ApplyEffect-Methode erstellt wurden.

Syntax

VOID * GetAuxData();

Rückgabewert

Diese Methode gibt einen Zeiger auf eine Reihe von Nachschlagetabellen zurück, die durch einen vorherigen Aufruf von Bitmap::ApplyEffect erstellt wurden. Wenn keine Nachschlagetabellen verfügbar sind, ist der Rückgabewert NULL.

Hinweise

Sie können einen Effekt auf eine Bitmap anwenden, indem Sie eine instance eines der Nachfolger der Effect-Klasse erstellen und die Adresse dieses Nachfolgers an die Bitmap::ApplyEffect-Methode übergeben. Für bestimmte Nachfolger von Effect erstellt ApplyEffect Nachschlagetabellen und gibt die Adresse dieser Tabellen an das Nachfolgerobjekt zurück. Beispielsweise können Sie die Nachschlagetabellen für ein BrightnessContrast-Objekt wie folgt abrufen:

  1. Erstellen Sie ein BrightnessContrast-Objekt , und rufen Sie die zugehörige SetParameters-Methode auf.
  2. Übergeben Sie TRUE an die Effect::UseAuxData-Methode des BrightnessContrast-Objekts .
  3. Übergeben Sie die Adresse des BrightnessContrast-Objekts an die Bitmap::ApplyEffect-Methode .
  4. Rufen Sie die Effect::GetAuxData-Methode des BrightnessContrast-Objekts auf, um einen Zeiger auf die von ApplyEffect erstellten Nachschlagetabellen zu erhalten. Der Puffer für die Nachschlagetabellen wird von ApplyEffect zugeordnet. Sie sind nicht dafür verantwortlich, den Puffer frei zu geben.

ApplyEffect kann die Adresse von Nachschlagetabellen für die folgenden Nachfolger der Effect-Klasse zurückgeben.

Für die Klassen in der vorherigen Liste erstellt ApplyEffect vier Nachschlagetabellen: jeweils eine für den blauen, grünen, roten und Alphakanal. Jede Nachschlagetabelle ist ein Array von 256 Bytes, sodass die Größe des gesamten Tabellensatzes 1024 Bytes beträgt. Die Tabellen werden in der Reihenfolge blau, grün, rot, alpha gespeichert.

Beispiele

Der folgende Code übergibt die Adresse eines BrightnessContrast-Objekts an die Bitmap::ApplyEffect-Methode . Anschließend gibt der Code die von ApplyEffect erstellte blaue Nachschlagetabelle aus.

Bitmap bm(L"Picture.bmp");

BrightnessContrastParams briConParams;
briConParams.brightnessLevel = 0;
briConParams.contrastLevel = 25;

BrightnessContrast briCon;
briCon.SetParameters(&briConParams);
briCon.UseAuxData(TRUE);
	
bm.ApplyEffect(&briCon, NULL);

VOID* data = briCon.GetAuxData();

// You know the size is 1024, but check to make sure.
INT size = briCon.GetAuxDataSize();

if(1024 != size || NULL == data)
   return;

// Cast the data pointer as a ColorLUTParams pointer so that it
// will be easy to examine the individual tables.
ColorLUTParams* tables = (ColorLUTParams*)data;
   
// Print the lookup table for the blue channel.
for(UINT j = 0; j < 256; ++j)
{
   printf("%u, %u\n", j, tables->lutB[j]);
}

Anforderungen

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

Weitere Informationen

ColorLUTParams

Auswirkung

Effect::GetAuxDataSize

Effect::UseAuxData