• WPF中使用Path绘制图形基础


    1、图形绘制命令
    大写命令表示绝对坐标,小写表示相对坐标。
    (1)、起点命令M
    (2)、终点命令Z:表示封闭图形,让图形首尾相连;
    (3)、直线L(Line)
    (4)、水平直线H(Horizontal line)
    (5)、垂直直线V(Vertical line)
    (6)、三次方程贝赛尔曲线C(cubic Bezier curve)
    (7)、二次方程贝赛尔曲线Q(quadratic Bezier curve)
    (8)、平滑三次方程贝赛尔曲线S(Smooth cubic Bezier curve)
    (9)、平滑二次方程贝赛尔曲线T(smooth quadratic Bezier curve)
    (10)、椭圆圆弧A(ecliptical Arc)
    使用格式:
    A 尺寸 圆弧旋转角度值 优势弧的标记 正负角度标记 结束点
    a 尺寸 圆弧旋转角度值 优势弧的标记 正负角度标记 结束点
    尺寸(Size): System.Windows.Size类型,指定椭圆圆弧X,Y方向上的半径值。
    圆弧旋转角度值(rotationAngle):椭圆弧的旋转角度值。
    优势弧的标记(isLargeArcFlag):是否为优势弧,如果弧的角度大于等于180度,则设为1,否则为0。
    正负角度标记(sweepDirectionFlag):当正角方向绘制时设为1,否则为0。
    结束点(endPoint)。
    2、Path方法
    在Path中有2种方法描述图形数据,即StreamGeometry和PathGeometry,2种方式具有相同的图形描述效果,区别在于当你建立路径后不需要修改时用StreamGeometry,如果还需要对路径进行修改则使用PathGeometry。
    实例程序

    <Grid>
            <Canvas>
                <!--PathGeometry-->
                <Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
                    <Path.Data>
                        <PathGeometry Figures="M 10,100 C 10,300 300,-160 300,100"/>
                    </Path.Data>
                </Path>
                <!--streamGeometry-->
                <Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF" Data="M 410,500 C 410,700 700,240 700,500"/>
            </Canvas>
        </Grid>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行效果
    在这里插入图片描述
    3、立体图形制作
    绘制圆柱

    <Grid>
            <Canvas>
                <Path  Stroke="Black" StrokeThickness="0" 
    			Width="300" Height="400" Stretch="Fill" x:Name="upArch" Margin="200,100" >
                    <Path.Data>
                        <GeometryGroup>
                            <PathGeometry Figures="M 0,100 A 100,50 0 1 1 200,100" />
                            <RectangleGeometry Rect="0,100,200,100"/>
                            <PathGeometry Figures="M 0,200 A 100,50 0 1 0 200,200" />
                        </GeometryGroup>
                    </Path.Data>
                    <Path.Fill>
                        <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                            <GradientStop Color="Blue" />
                        </LinearGradientBrush>
                    </Path.Fill>
                </Path>
            </Canvas>
        </Grid>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    效果显示
    在这里插入图片描述

  • 相关阅读:
    mysql 时间字段默认设置为当前时间
    泰克示波器TDS210更换IPS彩色屏幕
    zookeeper动态扩缩容(无需重启)
    GB28181协议-SIP协议详解
    java动态代理两种实现方式
    多线程---认识线程
    【日拱一卒】如何编写测试用例(下)
    【Maven】jar包冲突原因与最优解决方案
    高校实验室设备管理系统设计与实现-计算机毕业设计源码+LW文档
    pytorch-构建卷积神经网络
  • 原文地址:https://blog.csdn.net/qq_27474555/article/details/126307484