Effect::GetAuxData 方法 (gdipluseffects.h)
Effect::GetAuxData會取得一組由先前呼叫Bitmap::ApplyEffect方法所建立之查閱表格的指標。
Syntax
VOID * GetAuxData();
傳回值
這個方法會傳回先前呼叫 Bitmap::ApplyEffect所建立的一組查閱表格指標。 如果沒有可用的查閱表格,則傳回值為 Null。
備註
您可以藉由建立 Effect 類別的其中一個子系實例,並將該子代的位址傳遞至 Bitmap::ApplyEffect 方法,將效果套用至點陣圖。 對於 Effect的特定子系,ApplyEffect 會建立查閱表格,並將這些資料表的位址傳回給子代物件。 例如,您可以擷取 BrightnessContrast 物件的查閱表格,如下所示:
- 建立 BrightnessContrast 物件並呼叫其 SetParameters 方法。
- 將TRUE傳遞至BrightnessContrast物件的Effect::UseAuxData方法。
- 將 BrightnessContrast 物件的位址傳遞至 Bitmap::ApplyEffect 方法。
- 呼叫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 |