WPF GeometryCombineMode Exclue,Intersect,Union,Xor

 

 

<Window x:Class="WpfApp72.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:WpfApp72"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Image Grid.Column="0">
            <Image.Source>
                <DrawingImage>
                    <DrawingImage.Drawing>
                        <DrawingGroup>
                            <GeometryDrawing  Brush="Orange">
                                <GeometryDrawing.Pen>
                                    <Pen Brush="Black" Thickness="5"/>
                                </GeometryDrawing.Pen>
                                <GeometryDrawing.Geometry>
                                    <CombinedGeometry GeometryCombineMode="Exclude">
                                        <CombinedGeometry.Geometry1>
                                            <PathGeometry FillRule="Nonzero">
                                                <PathFigure IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True" IsStroked="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry1>
                                        <CombinedGeometry.Geometry2>
                                            <PathGeometry>
                                                <PathFigure StartPoint="70,0" IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry2>
                                    </CombinedGeometry>
                                </GeometryDrawing.Geometry>
                            </GeometryDrawing>
                        </DrawingGroup>
                    </DrawingImage.Drawing>
                </DrawingImage>
            </Image.Source>
        </Image>

        <Image Grid.Column="1">
            <Image.Source>
                <DrawingImage>
                    <DrawingImage.Drawing>
                        <DrawingGroup>
                            <GeometryDrawing Brush="Orange">
                                <GeometryDrawing.Pen>
                                    <Pen Brush="Black" Thickness="5"/>
                                </GeometryDrawing.Pen>
                                <GeometryDrawing.Geometry>
                                    <CombinedGeometry GeometryCombineMode="Intersect">
                                        <CombinedGeometry.Geometry1>
                                            <PathGeometry FillRule="Nonzero">
                                                <PathFigure IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True" IsStroked="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry1>
                                        <CombinedGeometry.Geometry2>
                                            <PathGeometry>
                                                <PathFigure StartPoint="70,0" IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry2>
                                    </CombinedGeometry>
                                </GeometryDrawing.Geometry>
                            </GeometryDrawing>
                        </DrawingGroup>
                    </DrawingImage.Drawing>
                </DrawingImage>
            </Image.Source>
        </Image>

        <Image Grid.Column="2">
            <Image.Source>
                <DrawingImage>
                    <DrawingImage.Drawing>
                        <DrawingGroup>
                            <GeometryDrawing Brush="Orange">
                                <GeometryDrawing.Pen>
                                    <Pen Brush="Black" Thickness="5"/>
                                </GeometryDrawing.Pen>
                                <GeometryDrawing.Geometry>
                                    <CombinedGeometry GeometryCombineMode="Union">
                                        <CombinedGeometry.Geometry1>
                                            <PathGeometry FillRule="Nonzero">
                                                <PathFigure IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True" IsStroked="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry1>
                                        <CombinedGeometry.Geometry2>
                                            <PathGeometry>
                                                <PathFigure StartPoint="70,0" IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry2>
                                    </CombinedGeometry>
                                </GeometryDrawing.Geometry>
                            </GeometryDrawing>
                        </DrawingGroup>
                    </DrawingImage.Drawing>
                </DrawingImage>
            </Image.Source>
        </Image>

        <Image Grid.Column="3">
            <Image.Source>
                <DrawingImage>
                    <DrawingImage.Drawing>
                        <DrawingGroup>
                            <GeometryDrawing Brush="Orange">
                                <GeometryDrawing.Pen>
                                    <Pen Brush="Black" Thickness="5"/>
                                </GeometryDrawing.Pen>
                                <GeometryDrawing.Geometry>
                                    <CombinedGeometry GeometryCombineMode="Xor">
                                        <CombinedGeometry.Geometry1>
                                            <PathGeometry FillRule="Nonzero">
                                                <PathFigure IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True" IsStroked="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry1>
                                        <CombinedGeometry.Geometry2>
                                            <PathGeometry>
                                                <PathFigure StartPoint="70,0" IsClosed="True">
                                                    <LineSegment Point="0,100" IsSmoothJoin="True"/>
                                                    <LineSegment Point="100,100" IsSmoothJoin="True"/>
                                                </PathFigure>
                                            </PathGeometry>
                                        </CombinedGeometry.Geometry2>
                                    </CombinedGeometry>
                                </GeometryDrawing.Geometry>
                            </GeometryDrawing>
                        </DrawingGroup>
                    </DrawingImage.Drawing>
                </DrawingImage>
            </Image.Source>
        </Image>
    </Grid>
</Window>

 

posted @ 2024-12-20 13:50  FredGrit  阅读(4)  评论(0编辑  收藏  举报