holdtom
这是用于保存颜色的 RGB 空间中颜色之间的简单线性插值System.Drawing.Color:public int LinearInterp(int start, int end, double percentage) => start + (int)Math.Round(percentage * (end - start));public Color ColorInterp(Color start, Color end, double percentage) => Color.FromArgb(LinearInterp(start.A, end.A, percentage), LinearInterp(start.R, end.R, percentage), LinearInterp(start.G, end.G, percentage), LinearInterp(start.B, end.B, percentage));public Color GradientPick(double percentage, Color Start, Color Center, Color End) { if (percentage < 0.5) return ColorInterp(Start, Center, percentage / 0.5); else if (percentage == 0.5) return Center; else return ColorInterp(Center, End, (percentage - 0.5)/0.5);}你会像这样使用它:var Start = Color.FromArgb(255, 0, 255, 0);var Center = Color.FromArgb(255, 255, 165, 0);var End = Color.FromArgb(255, 255, 0, 0);var Pick = GradientPick(0.75, Start, Center, End);