6
給出定義的LinearGradientBrush
如下:如何從XAML LinearGradientBrush的偏移量中讀取顏色?
<LinearGradientBrush x:Key="RedYellowGradient">
<GradientStop Color="Blue" Offset="0.01" />
<GradientStop Color="Purple" Offset="0.25"/>
<GradientStop Color="Red" Offset="0.5"/>
<GradientStop Color="Orange" Offset="0.75"/>
<GradientStop Color="Yellow" Offset="1.0"/>
</LinearGradientBrush>
什麼是需要採取的定義,並確定由特定的一個偏移表示的顏色,如0.13或0.82勿使任何可見?
這將需要一個函數的形式與原型是這樣的:
Function GetColorFromBrushOffset(br as LinearGradientBrush, offset as Single) as SomeColorDataStructure
什麼需要在函數體中去嗎?我不是在尋找完成的代碼(儘管我不會拒絕它!)只是關於使用什麼數據結構和系統調用的一些想法。
只需訪問Gradientstops,並且每個對之間進行內插([0] - > [1],[1] - > [2]等)偏移量,現在使用內插值在每對顏色之間插值。 – dowhilefor 2013-04-23 09:03:17
[this](http://stackoverflow.com/a/9651053/1069200)可能會有幫助,可能重複 – 2013-04-23 10:29:13
@JohanLarsson你是對的;其中一個答案中的代碼看起來對我而言是正確的。我寧願在這裏重現它,因爲我無法從我的搜索中找到這個問題,並且他的問題在範圍上有所不同。 – 2013-04-23 18:14:12