Jak odczytać kolor z przesunięcia XAML LinearGradientBrush?
DawaćLinearGradientBrush
zdefiniowane w następujący sposób:
<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>
Co jest wymagane, aby przyjąć tę definicję i określić kolor reprezentowany przez określone przesunięcie, takie jak 0.13 lub 0.82 bez renderowania niczego widocznego?
To przybrałoby postać funkcji z prototypem podobnym do tego:
Function GetColorFromBrushOffset(br as LinearGradientBrush, offset as Single) as SomeColorDataStructure
Co musiałoby znaleźć się w ciele funkcji? Nie szukam gotowego kodu (choć nie odmówię tego!), Tylko kilka pomysłów na to, jakich struktur danych i wywołań systemowych użyć.