Silverlight 还提供了几合绘制图形类Geometry比Share更加的灵活。
一、Geometry和Share
Geometry类(几何绘图)包括,LineGeometry(几何线条)、RectangleGeometry(几何矩形)、EllipesGeometry(几何椭圆图形)、GeometryGroup(几何组合)、PathGeometry(几何路径)他可以描述任何几何的2D形状。
从绘图来看Geometry类和Share类似乎都是绘制2D图形,但是这两个类有着重要的区别。Geometry(几何绘图)类更加轻量级,绘图效率更高于Share。
二、Geometry和Path
LineGeometry(几何线条)、RectangleGeometry(几何矩形)、EllipesGeometry(几何椭圆图形)、GeometryGroup(几何组合)、PathGeometry(几何路径)都是由Geometry继承而来的。
事实上Path还可以做为一个容器,允许容纳任何Geometry形状的几何图形包含在Path.Data内。
LineGeometry
类似于Share的Line对象用来生成一条线,区别在于Line用的是X和Y坐标来生成线条,而LineGeometry是利用StartPoint和EndPoint来完成线条的绘制。
如:
RectangleGeometry(几何矩形)、EllipesGeometry(几何椭圆图形)类似于Share中的Rectangle和Ellipes这里不做过多描述。
GeometryGroup
有些时候需要将某些图形组合起来,GeometryGroup就具备这个功能,如下面的例子:
运行结果如下:
在两个图形交叉的时候,可以使用Geometry的FillRule属性来定义组合图形的填充规则。FillRule属性有两个枚举值(EvenOdd)和(Zonzero).
PathGeometry
PathGeometry是Geometry中最灵活的,他可以绘制任意的2D几何图形。
运行结果:
为简化上面xaml,wpf提供了路径语法解析器,由
运行结果:
ArcSegment 对象
利用ArcSegment对象来绘制弧线元素:
运行结果:
BezierSegment对象
利用BeezierSegment对象来绘制贝塞尔曲线,贝塞尔曲线是由比较复杂的数学公式产生的。它用来计算两个控制点之间如何确定一条曲线的轮廓。如下例子:
运行结果:
下一节将会学习利用C#代码来绘制几何图形。
分享到:
相关推荐
Laravel开发-laravel-mysql-geometry 在Laravel中使用MySQL几何类型
本书以“问题描述+解决方案”的模式,使用二百多个实例介绍了Scene、Renderer、Camera、Geometry、Mesh、Light、Material、EffectComposer等Three.js封装的三维图形对象的具体应用,如绘制正交照相机,绘制透视...
osg基本几何体绘制,实现Geometry的添加
Laravel开发-laravel-mysql-geometry .zip
Silverlight 2.0 使用c#开发可脚本化的代码,Silverlight与宿主页面的DOM之间的交互,Silverlight与宿主页面的JavaScript之间的交互。 ScriptableMemberAttribute - 需要脚本化的属性、方法、事件要标记为此 ...
Shapes2D 在MonoGame / XNA中绘制2D几何图形,包括诸如线和多边形之类的图元。样品这些样本包含在源中。如何在网格中绘制简单形状的示例。 您可以在示例代码中轻松更改比例,网格类型(三角形,正方形,六边形)和...
osgearth 绘制点,线,圆形,区域等等。
如果你和数学中的几何和解析几何打交道或者对它们感兴趣,我相信你一定会喜欢这个软件的。 该软件的许多功能你以前肯定会是觉得不可能的事情。你不信?那你就试试看吧! 该软件支持多国语言。本安装程序仅在原版的...
[游戏设计x[游戏设计x编程电子书小合集].3D.Geometry.Tuts.rar编程电子书小合集].3D.Geomet[游戏设计x编程电子书小合集].3D.Geometry[游戏设计x编程电子书小合集].3D.Geometry.[游戏设计x编程电子书小合集].3D....
Anti-Grain Geometry ( AGG ) 是一个用C++编写的2D 渲染图形库。它具有抗锯齿和亚像素分辨率。它本身不是一个图形库,而是一个构建图形库的框架。 该库独立于操作系统并呈现为抽象内存对象。它带有与X Window 系统...
同一个osg::Geometry或osg::Geode或osg::Group对象 在不同的位置 用不同的颜色、大小、角度显示
osg绘制 带洞面 环形面 多子面对象 半透明面
Algebra Geometry - Griffiths
Geometry of differential forms
学习图形学时的第一个作业,没有使用java中已有的画线、圆等方法,而是利用最基本的算法计算出每个点的坐标,逐点绘制的。希望大家提出宝贵意见:)
The Geometry of Syzygies
Metric Geometry.pdf
CGAL - Computational Geometry Algorithms Library 开发手册离线版
Algorithms in Real Algebraic Geometry
空间解析几何是在平面解析几何的基础上,用代数的知识和方法来研究空间的平面、直线、曲面及曲线。它不仅为二元函数微积分提供必要的几何图形知识,且向量代数也是为学习后继课程不可缺少的工具