快取效果
使用失真效果,根據 Perlin 雜訊函式產生點陣圖。
擷取效果沒有輸入影像。
此效果的 CLSID 是CLSID_D2D1Turbulence。
範例影像
此抑制效果會計算 Perlin 雜訊函式的一或多個八位總和。 Perlin 雜訊是虛擬隨機函式,其值取決於頻率、位置和種子值。 效果會使用下列其中一個方程式來產生 RGBA 值。
如果您選取D2D1_TURBULENCE_NOISE_FRACTAL_SUM雜訊模式,效果會使用此方程式。
如果您選取D2D1_TURBULENCE_NOISE_TURBULENCE雜訊模式,效果會使用此方程式。
注意
函 PerlinNoise
式的範圍為 [-1, 1]。
此效果會輸出預乘 Alpha 中的圖元值。
效果屬性
顯示名稱和索引列舉 | 描述 |
---|---|
Offset D2D1_TURBULENCE_PROP_OFFSET |
產生擷取輸出的座標。 用來產生 Perlin 雜訊的演算法與位置相關,因此不同的位移會產生不同的輸出。 此屬性未限定,而且單位是以 DIP 指定 注意: 位移與轉譯沒有相同的效果,因為雜訊函式輸出是無限的,而且函式會包裝在磚周圍。 此類型為 D2D1_VECTOR_2F。 預設值為 {0.0f, 0.0f}。 |
大小 D2D1_TURBULENCE_PROP_SIZE |
擷取輸出的大小。 此屬性未限定,而且單位是以 DIP 指定 此類型為 D2D1_VECTOR_2F。 預設值為 {0.0f, 0.0f}。 |
BaseFrequency D2D1_TURBULENCE_PROP_BASE_FREQUENCY |
X 和 Y 方向的基底頻率。 這個屬性是 float,而且必須大於 0。 單位以 1/DIP 指定。 基底頻率的值為 1 (1/DIP) ,會導致 Perlin 雜訊完成兩個圖元之間的整個迴圈。 這些圖元的輕鬆插補會導致完全隨機的圖元,因為圖元之間沒有相互關聯。 基底頻率的 0.1 (1/DIP 值) ,Perlin 雜訊函式會每隔 10 個 DIP 重複一次。 這會導致圖元與一般擷取效果之間的相互關聯。 此類型為 D2D1_VECTOR_2F。 預設值為 {0.01f, 0.01f}。 |
NumOctaves D2D1_TURBULENCE_PROP_NUM_OCTAVES |
雜訊函式的八位數。 此屬性是 UINT32,而且必須大於 0。 此類型為 UINT32。 預設值為 1。 |
種子 D2D1_TURBULENCE_PROP_SEED |
虛擬隨機產生器的種子。 這個屬性未系結。 此類型為 UINT32。 預設值為 0。 |
雜訊 D2D1_TURBULENCE_PROP_NOISE |
噪音模式。 這個屬性可以是 fractal sum 或 一般常數。 指出是否要根據 Fractal Noise 或一般雜訊函式產生點陣圖。 如需詳細資訊,請參閱 雜訊模式 。 此類型為 D2D1_TURBULENCE_NOISE。 預設值為 D2D1_TURBULENCE_NOISE_FRACTAL_SUM。 |
可接合 D2D1_TURBULENCE_PROP_STITCHABLE |
開啟或關閉針腳。 基底頻率會調整,以便將輸出點陣圖結合。 如果您想要並排顯示多個複本的快取效果輸出,這會很有用。
此類型為 BOOL。 預設值為 FALSE。 |
雜訊模式
列舉型別 | 描述 |
---|---|
D2D1_TURBULENCE_NOISE_FRACTAL_SUM | 計算八位的總和,將輸出範圍從 [-1, 1] 移轉至 [0, 1]。 |
D2D1_TURBULENCE_NOISE_TURBULENCE | 計算每個八位的絕對值總和。 |
注意
這兩種模式都未包含輸出值的明確限制。
輸出點陣圖
此效果會產生邏輯上無限大小的點陣圖。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式] |
最低支援的伺服器 | 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式] |
標頭 | d2d1effects.h |
媒體櫃 | d2d1.lib、dxguid.lib |