Wie liest man die Farbe aus einem Offset eines XAML LinearGradientBrush?

AngenommenLinearGradientBrush wie folgt definiert:

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

Was ist erforderlich, um diese Definition vorzunehmen und die Farbe zu bestimmen, die durch einen bestimmten Versatz dargestellt wird, z. B. 0,13 oder 0,82, ohne dass etwas sichtbar wird?

Dies würde die Form einer Funktion mit einem Prototyp haben, der ungefähr so ​​aussieht:

Function GetColorFromBrushOffset(br as LinearGradientBrush, offset as Single) as SomeColorDataStructure

Was müsste in den Funktionskörper gehen? Ich suche nicht nach fertigem Code (obwohl ich ihn nicht ablehne!), Sondern nur nach Ideen, welche Datenstrukturen und Systemaufrufe verwendet werden sollen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage