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 @   FredGrit  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2021-12-20 C++ pass array as pointer and increment the pointer to retrieve array data
2021-12-20 C++ write and read file via fstream and time cost
点击右上角即可分享
微信分享提示