Как прочитать цвет со смещения XAML LinearGradientBrush?

Учитывая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

Что нужно было бы перейти в функции тела? Я не ищу готовый код (хотя я не откажусь от него!), Просто некоторые идеи о том, какие структуры данных и системные вызовы использовать.