■ DrawingGroup 요소의 BitmapEffect/OpacityMask 속성을 사용하여 그림을 그리는 방법을 보여줍니다.

테스트 프로젝트.zip
0.08MB
MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="TestProject"
FontFamily="나눔고딕코딩"
FontSize="16">
<Rectangle
Width="300"
Height="300">
<Rectangle.Fill>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup>
<GeometryDrawing Brush="#66b5f314">
<GeometryDrawing.Geometry>
<EllipseGeometry
Center="50 50"
RadiusX="50"
RadiusY="50" />
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen
Thickness="4"
Brush="Black" />
</GeometryDrawing.Pen>
</GeometryDrawing>
<DrawingGroup.BitmapEffect>
<BlurBitmapEffect Radius="5" />
</DrawingGroup.BitmapEffect>
</DrawingGroup>
<DrawingGroup>
<ImageDrawing
Rect="50 50 100 100"
ImageSource="IMAGE\kiwi.png" />
<DrawingGroup.BitmapEffect>
<BevelBitmapEffect />
</DrawingGroup.BitmapEffect>
<DrawingGroup.OpacityMask>
<RadialGradientBrush>
<GradientStop Offset="0.55" Color="#00000000" />
<GradientStop Offset="0.65" Color="#ff000000" />
<GradientStop Offset="0.75" Color="#00000000" />
<GradientStop Offset="0.80" Color="#ff000000" />
<GradientStop Offset="0.90" Color="#00000000" />
<GradientStop Offset="1.0" Color="#ff000000" />
</RadialGradientBrush>
</DrawingGroup.OpacityMask>
</DrawingGroup>
<GeometryDrawing Brush="#66b5f314">
<GeometryDrawing.Geometry>
<EllipseGeometry
Center="150 150"
RadiusX="50"
RadiusY="50" />
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen
Thickness="4"
Brush="Black" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
</Window>