В winforms (или в любом другом, использующем GDI +) вы можете использовать System.Drawing.Drawing2D.LinearGradientBrush для выполнения интерполяции за вас.
WPF System.Windows.Media.GradientBrush также может работать. Это абстрактно, так что вы можете получить LinearGradientBrush от WPF. Он находится в другом пространстве имен, чем другое.
РЕДАКТИРОВАТЬ: так как вопрос был отредактирован, чтобы показать, что вы хотите быть технологически независимым, я не думаю, что этот ответ применим. Сейчас я оставлю это здесь на случай, если кто-то ищет градиенты в C #, но если кто-то посчитает это нежелательным, я удалю ответ.
Я сделал быструю проверку, чтобы увидеть, можете ли вы хотя бы получить некоторые функциональные возможности более независимым способом (например, получить массив Point или что-то в этом роде). Похоже, не в этом дело.