首页 > 其他分享 >WPF GeometryCombineMode Exclue,Intersect,Union,Xor

WPF GeometryCombineMode Exclue,Intersect,Union,Xor

时间:2024-12-20 13:54:10浏览次数:4  
标签:GeometryCombineMode Xor Union Exclue Intersect WPF

 

 

<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>

 

标签:GeometryCombineMode,Xor,Union,Exclue,Intersect,WPF
From: https://www.cnblogs.com/Fred1987/p/18619122

相关文章

  • GaussDB数据库SQL系列-UNION & UNION ALL
    一、前言SQL(结构化查询语言)是一种用于管理关系型数据库的标准语言。它允许用户通过使用SQL语言来操作数据库中的数据。而在SQL中,UNION是一个非常强大的功能,它可以将多个SELECT语句的结果合并成一个结果集。本文将以GaussDB数据库为例,介绍一下UNION操作符的使用。二、GaussDBUN......
  • 【异或运算】codeforces 1153 B. Dima and a Bad XOR
    前言异或运算:是一种在二进制数系统中使用的逻辑运算。它的基本规则是对两个二进制位进行比较,如果这两个位不同,则结果为\(1\);如果相同,则结果为\(0\)。异或运算的规则\(0\)XOR\(0\)=\(0\)\(0\)XOR\(1\)=\(1\)\(1\)XOR\(0\)=\(1\)\(1\)XOR\(1\)=\(0\)特性......
  • GaussDB数据库SQL系列-UNION & UNION ALL
    一、前言SQL(结构化查询语言)是一种用于管理关系型数据库的标准语言。它允许用户通过使用SQL语言来操作数据库中的数据。而在SQL中,UNION是一个非常强大的功能,它可以将多个SELECT语句的结果合并成一个结果集。本文将以GaussDB数据库为例,介绍一下UNION操作符的使用。二、GaussDBUN......
  • sql手工注入获取库、表名(union联合注入)(个人学习笔记)
    1,发现存在sql漏洞的网站当我们发现一个网站存在sql注入的漏洞时,可以使用sql手工注入来获取信息,如下列的网站sql注入的原理是前端给后端发送指令的时候由于设计者未考虑安全,导致用户可以加上自己的指令进去,从而让服务器完成一些列危险的操作2,确定列表数名首先,我们要先知道......
  • union all SQL 操作符
    在Hive中,`UNIONALL`是一个SQL操作符,用于将两个或多个查询的结果合并为一个结果集。与`UNION`不同,`UNIONALL`不会自动去重,因此它会返回所有查询结果,包括重复的记录。以下是`UNIONALL`在Hive中的一些主要作用和特点: 主要作用1.合并结果集:  可以将多个S......
  • C和指针:结构体(struct)和联合(union)
    结构体和联合结构体结构体包含一些数据成员,每个成员可能具有不同的类型。数组的元素长度相同,可以通过下标访问(转换为指针)。但是结构体的成员可能长度不同,所以不能用下标来访问它们。成员有自己的名字,可以通过名字访问成员。结构声明在声明结构时,必须列出它包含的所有成员。struct......
  • P10471 最大异或对 The XOR Largest Pair(01trie)
    #include<bits/stdc++.h>usingnamespacestd;#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefunsignedintuint;typedefvector<string>VS;typedefvector<int>......
  • `FULL JOIN` 和 `UNION ALL`
    在SQL中,`FULLJOIN`和`UNIONALL`是两种不同的操作,它们的结果也有显著的区别。###FULLJOIN`FULLJOIN`(全外连接)会返回两张表中所有的记录。对于没有匹配的记录,结果中会用`NULL`填充缺失的部分。具体来说:-如果表A和表B中有匹配的记录,这些记录会合并在一起。-如果......
  • CF1993E Xor-Grid Problem
    结论,异或,状压DP2300Link:https://codeforces.com/problemset/problem/1993/E。先考虑一维的情况。若只有一维,每次操作的结果和[AGC016D]XORReplace是一样的。对\(a_i\)进行一次操作相当于令\(a_i:=\oplus_{1\lei\len}a_i\),再对\(j\)进行一次操作相当于令\(a_j:=......
  • SQL中使用UNION对两个查询结果进行数据透视
    在SQL中,UNION操作符用于将两个或多个查询结果集合并为一个结果集。然而,UNION本身并不直接支持数据透视功能。数据透视是一种将数据按照特定的维度进行汇总和分组的操作,通常需要使用其他方法来实现。一种常见的方法是在应用程序或脚本中处理合并后的结果集,并使用编程语言的功能......