Shape是对Geometry的一种封装,Shape本质上还是通过绘制Geometry的形状,然后以填充笔刷来呈现效果
    WPF 2D绘图(2)Geometry - 图1
    如Rectangle




    这两者是等价的
    Rectangle 是对RectangleGeometry 的封装实现,Rectangle 布局内部将会重写,所以封装了起始点
    Geometry(没有笔刷的透明形状)本身无法呈现,必须放在Path容器中才可以
    同样的其他的shape也对应Geometry,如果没有的话则以PathGeometry表示.

    GeometryGroup
    可以同时将多个Geometry放在一起成为一个新的图形







    好比Path是一张画布,代表着一个FrameworkElement。如果使用Shape的话,则需要三个FrameworkElement,这是对性能的挑战.FrameworkElement多的话将会大大降低程序的性能,这时还得采用传统的绘图方法.

    即Shape依赖于Geometry

    1000个Shape会产生1000个Geometry,但1000个Geometry可以放在1个Shape中,性能不言而喻了