共用方式為


快取效果

使用失真效果,根據 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
開啟或關閉針腳。 基底頻率會調整,以便將輸出點陣圖結合。 如果您想要並排顯示多個複本的快取效果輸出,這會很有用。
  • True:輸出點陣圖可以使用磚效果) 並排顯示 (,而不會有接縫的外觀。 基底頻率會調整,以便將輸出點陣圖結合。
  • False 不會調整基底頻率,因此如果點陣圖已並排顯示,則接合可能會出現在磚之間。

此類型為 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

ID2D1Effect