動蕩效果
使用動蕩效果,根據 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 |
開啟或關閉縫合。 基底頻率會調整,以便可以縫合輸出位圖。 如果您想要磚多個動蕩效果輸出複本,這會很有用。
此類型為 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 |