1

このように別の円にいくつかの円を描きたい:

代替テキストhttp://img38.imageshack.us/img38/6379/circles.png

RadialGradientBrushにグラデーションを使用せず、固定色のみを使用するように指示する方法はありますか?これを実現できますか?ヒントをありがとう!

(これはDrawingBrushを使用して簡単に実行できると思いますが、RadialGradientBrushを使用してこれを実行できるかどうか疑問に思っています)

4

2 に答える 2

5

あなたが本当に本当にこれをしたいのなら、あなたはあなたが望むオフセットであなたが望む色を繰り返すことができます。

例えば:

            <RadialGradientBrush>
                <GradientStop Offset="0" Color="Black" />
                <GradientStop Offset="0.25" Color="Black" />
                <GradientStop Offset="0.25" Color="Red" />
                <GradientStop Offset="0.75" Color="Red" />
                <GradientStop Offset="0.75" Color="Salmon" />
                <GradientStop Offset="1" Color="Salmon" />
            </RadialGradientBrush>

そうすれば、0から0.25まで黒から黒、0.25から0.75まで赤から赤、0.75から1.0までサーモンからサーモンに塗りつぶされます。

オフセットが一致するため、グラデーションをブレンドするための「余地」はありません。

于 2010-05-03T20:12:03.900 に答える
1

絶対サイズの「ブルズアイ」を作成しようとしている場合は、ブラシを使用するのではなく、楕円をグリッドにオーバーレイすることを検討してください。

<Grid>
    <Grid.Resources>
        <Style TargetType="{x:Type Ellipse}">
            <Setter Property="HorizontalAlignment" Value="Stretch" />
            <Setter Property="VerticalAlignment" Value="Stretch" />
        </Style>
    </Grid.Resources>
   <Ellipse Width="100" 
            Height="100"
            Fill="Salmon" />
   <Ellipse Width="50" 
            Height="50"
            Fill="Red" />
   <Ellipse Width="25" 
            Height="25"
            Fill="Black" />
</Grid>

それらはすべて同じグリッド内にあり(列と行はデフォルトで両方とも0ですが、設定できます)、水平方向と垂直方向の配置がストレッチに設定されているため、単純に重なります。もちろん、必ず一番大きいものを最初に置いてください。

于 2010-05-03T21:17:10.910 に答える