创建一个HUE颜色条

Kir*_*oev 5 silverlight xaml

我正在创建一个颜色选择器,我正处于需要创建HUE颜色条的阶段:

在此输入图像描述

创建它的一种方法是通过XAML中的渐变停止.例如:

<Rectangle Width="50" Height="100">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0.5,0.025" EndPoint="0.5,1" >
            <GradientStop Color="#FFFF0000" />
            <GradientStop Color="#FEFFFF00" Offset="0.15" />
            <GradientStop Color="#FE00FF00" Offset="0.3" />
            <GradientStop Color="#FE00FFFF" Offset="0.45" />
            <GradientStop Color="#FE0000FF" Offset="0.6" />
            <GradientStop Color="#FEFF00FF" Offset="0.85" />
            <GradientStop Color="#FFFF0000" Offset="1" />
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>
Run Code Online (Sandbox Code Playgroud)

以上将产生:

HUE酒吧

但是,我不确定停止是否正确.

是否有关于如何生成这样一个条的约定?任何建议都将受到高度赞赏.

最好的祝福,

卡西

Gon*_*ing 5

看起来你的第二个最后一站与前一站的距离(+0.25)不同(+0.15).您基本上希望所有停止点之间的间隙相同,以获得相同的效果(该颜色条只是一个线性分布).

试试这个:

<Rectangle.Fill>
    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1.0" >
        <GradientStop Color="#FFFF0000" />
        <GradientStop Color="#FEFFFF00" Offset="0.167" />
        <GradientStop Color="#FE00FF00" Offset="0.333" />
        <GradientStop Color="#FE00FFFF" Offset="0.5" />
        <GradientStop Color="#FE0000FF" Offset="0.667" />
        <GradientStop Color="#FEFF00FF" Offset="0.833" />
        <GradientStop Color="#FFFF0000" Offset="1.0" />
    </LinearGradientBrush>
</Rectangle.Fill>
Run Code Online (Sandbox Code Playgroud)

看起来像:

在此输入图像描述