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ć.

questionAnswers(1)

yourAnswerToTheQuestion