나는 이것을 얻기 위해 서로 120 도의 그라디언트를 만들었습니다. 몇 가지 매개 변수를 조정할 수도 있습니다.
링크의 정확한 이미지에는 보조 색상을 사용하는 6 개의 이미지가 필요합니다.
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication2"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Ellipse Stroke="Black" Width="150" Height="150">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#0000FF00" Offset="0.496"/>
<GradientStop Color="Lime" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Stroke="Black" Width="150" Height="150" RenderTransformOrigin="0.5,0.5">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="240"/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#000000FF" Offset="0.504"/>
<GradientStop Color="Blue" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Stroke="Black" Width="150" Height="150" RenderTransformOrigin="0.5,0.5">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="120"/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#00FF0000" Offset="0.504"/>
<GradientStop Color="Red" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
마지막 구배 제 것 위에 렌더링한다. 그것은 원하는 효과가 아닙니다. 또한이를 해결하는 데 도움이되는 그라데이션 유형에 블렌드 모드 속성이없는 것으로 나타났습니다. –
당신 말이 맞아요. 내 표본이 반경 내에서만 알파를 혼합하기 때문입니다. 원하는 패턴을 얻으려면 인접한 색상에 대해 알파를 혼합해야합니다. – motdotnet
그건 좀 더 복잡합니다. 업데이트 된 샘플을 게시하려고합니다. – motdotnet