C#渐进色的创建

/// <summary>
/// 创建一个色带
/// </summary>
/// <param name="startColor">起始色</param>
/// <param name="endColor">终止色</param>
/// <param name="num">总数</param>
/// <returns></returns>
public static List<System.Drawing.Color> GetColors(int num, System.Drawing.Color startColor, System.Drawing.Color endColor)
{
    List<System.Drawing.Color> resultColor = new List<System.Drawing.Color>();
    // 计算颜色变化的步长
    float step = 1.0f / num;
    // 填充颜色数组
    for (int i = 0; i < num; i++)
    {
        // 使用线性插值计算当前颜色
        float ratio = i * step;
        resultColor.Add(CalColorLerp(startColor, endColor, ratio));
    }
    return resultColor;
}

public static System.Drawing.Color CalColorLerp(System.Drawing.Color c1, System.Drawing.Color c2, float value)
{
    return System.Drawing.Color.FromArgb(
        (int)(c1.R + (c2.R - c1.R) * value),
        (int)(c1.G + (c2.G - c1.G) * value),
        (int)(c1.B + (c2.B - c1.B) * value)
    );
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值