共用方式為


Effect::GetAuxData 方法 (gdipluseffects.h)

Effect::GetAuxData會取得一組由先前呼叫Bitmap::ApplyEffect方法所建立之查閱表格的指標。

Syntax

VOID * GetAuxData();

傳回值

這個方法會傳回先前呼叫 Bitmap::ApplyEffect所建立的一組查閱表格指標。 如果沒有可用的查閱表格,則傳回值為 Null

備註

您可以藉由建立 Effect 類別的其中一個子系實例,並將該子代的位址傳遞至 Bitmap::ApplyEffect 方法,將效果套用至點陣圖。 對於 Effect的特定子系,ApplyEffect 會建立查閱表格,並將這些資料表的位址傳回給子代物件。 例如,您可以擷取 BrightnessContrast 物件的查閱表格,如下所示:

  1. 建立 BrightnessContrast 物件並呼叫其 SetParameters 方法。
  2. TRUE傳遞至BrightnessContrast物件的Effect::UseAuxData方法。
  3. BrightnessContrast 物件的位址傳遞至 Bitmap::ApplyEffect 方法。
  4. 呼叫BrightnessContrast物件的Effect::GetAuxData方法,以取得ApplyEffect所建立查閱資料表的指標。 查閱資料表的緩衝區是由 ApplyEffect 所配置;您不負責釋放緩衝區。

ApplyEffect 可以傳回 Effect 類別下列子代的查閱表格位址。

針對上述清單中的類別, ApplyEffect 會建立四個查閱表格:一個分別用於藍色、綠色、紅色和 Alpha 色板。 每個查閱表格都是 256 個位元組的陣列,因此整個資料表集的大小是 1024 個位元組。 資料表會依藍色、綠色、紅色、Alpha 的順序儲存。

範例

下列程式碼會將 BrightnessContrast 物件的位址傳遞至 Bitmap::ApplyEffect 方法。 然後程式碼會列印 ApplyEffect 所建立的藍色通道查閱表格。

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

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 gdipluseffects.h (包含 Gdiplus.h)
程式庫 Gdiplus.lib
Dll Gdiplus.dll

另請參閱

ColorLUTParams

效果

Effect::GetAuxDataSize

Effect::UseAuxData