C# 实现,给定一种颜色(即背景色基色/渐变色中间的颜色),如何根据一个渐变指数生成渐变色的起始颜色和终止颜色,单色渐变的
已找到解决方案,https://download.csdn.net/download/Aganstrong/18913340
这是我封装好的一个HSL转RGB的一个类
//来源:https://bbs.csdn.net/topics/392393089
static public void DrawBack(Graphics g,System.Drawing.Rectangle rect ,Color startColor,Color endColor)
{
LinearGradientBrush brush = new LinearGradientBrush(rect,
startColor,
endColor,
90.0f);
float[] relativeIntensities = {0.0f, 0.3f, 1.0f};
float[] relativePositions = {0.0f, 0.7f, 1.0f};
Blend blend = new Blend();
blend.Factors = relativeIntensities;
blend.Positions = relativePositions;
brush.Blend = blend;
g.FillRectangle(brush, rect);
}
更多参考
https://blog.csdn.net/wsadcg/article/details/102860725
https://blog.csdn.net/a873744779/article/details/100973110
我是需要这种,调整Lum的值获得新的RGB,保持在一种基色中由白到黑的
这应该算是一个HSL转RGB的一个算法问题