如何在LinearGradientBrush的特定位置获取颜色

时间:2016-03-22 15:53:26

标签: c#

我在Windows窗体面板上创建了一个多色渐变。现在我想在特定位置获得颜色。

更新

我正在研究一种相关矩阵,其中数据值的范围为1和-1。例如,1。,0.99,-0.33和-1等。我不想使用硬编码颜色值,因为用户想要创建自己的颜色模式。这些颜色模式将保存在数据库中。

    private void panel_Paint(object sender, PaintEventArgs e)
    {
        var clientRectangle = new Rectangle(0, 0, 200, 200);

        LinearGradientBrush br = new LinearGradientBrush(clientRectangle, Color.Green, Color.Red,
            LinearGradientMode.Horizontal);

        ColorBlend cb = new ColorBlend();

        cb.Positions = new[] { 0, 0.5f, 1 };
        cb.Colors = new[] { Color.Green, Color.Yellow, Color.Red };
        br.InterpolationColors = cb;

        e.Graphics.FillRectangle(br, clientRectangle);
    }

enter image description here

我已经搜索过但无法找到解决方案。我该怎么办?

谢谢

0 个答案:

没有答案