共用方式為


動蕩效果

使用動蕩效果,根據 Perlin 雜訊函式產生位圖。

動蕩效果沒有輸入影像。

這個效果的 CLSID 是CLSID_D2D1Turbulence。

範例影像

效果範例螢幕快照,其中顯示動蕩效果的輸出。

流浪效應會計算 Perlin 雜訊函式的一或多個八度總和。 Perlin 雜訊是虛擬隨機函式,其值取決於頻率、位置和種子值。 效果會使用下列其中一個方程式來產生 RGBA 值。

如果您選取D2D1_TURBULENCE_NOISE_FRACTAL_SUM雜訊模式,效果會使用此方程式。

顯示用來產生位圖之動蕩函式的螢幕快照。

如果您選取D2D1_TURBULENCE_NOISE_TURBULENCE雜訊模式,效果會使用此方程式。

用來產生位圖的動蕩函式。

注意

PerlinNoise 函式的範圍為 [-1, 1]。

這個效果會輸出預乘 Alpha 中的圖元值。

效果屬性

顯示名稱和索引列舉 描述
抵消
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 方向的基底頻率。 這個屬性是浮點數,而且必須大於 0。 單位以 1/DIP 指定。
基底頻率的 1 (1/DIP) 值會導致 Perlin 雜訊完成兩個像素之間的整個迴圈。 這些像素的簡易插補會產生完全隨機的圖元,因為圖元之間沒有相互關聯。
基底頻率的 0.1(1/DIP) 值,Perlin 雜訊函式會每隔 10 個 IOPS 重複一次。 這會導致圖元與一般動蕩效果之間的相互關聯。
此類型為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
動蕩噪音模式。 這個屬性可以是 分形總和。 指出是否要根據分形雜訊或震蕩函式產生位圖。 如需詳細資訊,請參閱 雜訊模式
此類型為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