Sliverlight中使用Path绘制复杂几何图形

转自http://www.riafan.com/article/silverlight/draw-with-path.html

在Sliverlight中,Path绘图是最灵活的,可以创建更复杂的几何图形。Path绘图有两种方法:使用Mini-Language Path或创建PathGeometry对象。下面我们就用这两种方法绘制两段椭圆弧线。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<StackPanel odientation="Horizontal">

    <!--Mini-Language Path绘制椭圆弧线-->

    <Path Stroke="Blue" StrokeThickness="2"

            Data="M 10,100 A 50,25,0,1,1 100,100"/>

    <!--PathGeometry绘制椭圆弧线-->

    <Path Stroke="Blue" StrokeThickness="2">

        <Path.Data>

            <PathGeometry>

                <PathFigure

                    StartPoint="10,100">

                    <ArcSegment Point="100,100"

                        Size="50,25" RotationAngle="0"

                        IsLargeArc="True" SweepDirection="Clockwise" />

                </PathFigure>

            </PathGeometry>

        </Path.Data>

    </Path>

</StackPanel>

不难看出,使用Mini-Language Path语法会简洁些,但没有PathGeometry对象好理解。移动命令M对应StartPoint属性,绘制命令A对应ArcSegment对象, 绘制命令A中的参数和ArcSegment对象的属性是一一对应的,所以最终显示效果一样。

从本质讲,Path也是Shape对象,但使用Path可创建比其他Shape对象更复杂的二维图形。Path还可以作为一个绘图的容器,它允许容纳任何形状的Geometry成员对象包含在Path.Data属性中。

不知大家有没有注意到,Flex 4中的Path绘图和Sliverlight中的相似,都可以使用mini-language语法,不过Flex 4中不支持椭圆弧线命令(A)。

 

时间: 2024-11-05 22:01:29

Sliverlight中使用Path绘制复杂几何图形的相关文章

Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)_Android

本文实例讲述了Android编程开发之在Canvas中利用Path绘制基本图形的方法.分享给大家供大家参考,具体如下: 在Android中绘制基本的集合图形,本程序就是自定义一个View组件,程序重写该View组件的onDraw(Canvase)方法,然后在该Canvas上绘制大量的基本的集合图形. 直接上代码: 1.自定义的View组件代码: package com.infy.configuration; import android.content.Context; import andro

Sliverlight实例之 绘制扇形和环形图

原文:Sliverlight实例之 绘制扇形和环形图   未解决: 1,任意偏角,是个重点问题: (1),  另一边在弧上坐标 (2),  这个弧的弧度(ArcSegment中的Size或Angle属性) (3),  如何把这个弧度做成依赖属性配置的  2,做成一个自定义控件   有时间,再完成    准备知识: 1,  平面几何思维(三角形,圆,弧,曲线,斜率,方程式) 2,  三次贝塞尔曲线的数学公式 3,  定时器与动画的区别是时间序列 4,  缓动动画   一,1道几何题       已

Silverlight中的Path

原文:Silverlight中的Path 在Silverlight中Path可能由直线.曲线.或者其他简单的图形对象组成.这篇文章旨在介绍如何使用XAML和C#来创建Path. 废话先行 Path可能由直线.曲线.简单图形对象(包括矩形.椭圆.和文本)组成.Path作为一个独立的图形对象来工作,所以对Path进行的操作,会影响到组成它的所有部分.例如,假设一个Path由一个直线.矩形和椭圆组成,我们通过红色画笔来创建Path,那么组成Path的部分(直线.矩形和椭圆)都将会使用红色画笔. 一个P

Android Path绘制贝塞尔曲线实现QQ拖拽泡泡_Android

这两天学习了使用Path绘制贝塞尔曲线相关,然后自己动手做了一个类似QQ未读消息可拖拽的小气泡,效果图如下: 最终效果图 接下来一步一步的实现整个过程. 基本原理 其实就是使用Path绘制三点的二次方贝塞尔曲线来完成那个妖娆的曲线的.然后根据触摸点不断绘制对应的圆形,根据距离的改变改变原始固定圆形的半径大小.最后就是松手后返回或者爆裂的实现. Path介绍: 顾名思义,就是一个路径的意思,Path里面有很多的方法,本次设计主要用到的相关方法有 moveTo() 移动Path到一个指定的点 qua

cookie中的path与domain属性详解

 本篇文章主要是对cookie中的path与domain属性进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助   1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net.而跨域访问,如域A为t1.test.com,域B为t2.test.com,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.test.com:如果要

浅析Cookie中的Path与domain

 本篇文章主要是对Cookie中的Path与domain进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Path – 路径.指定与cookie关联的WEB页.   值可以是一个目录,或者是一个路径.   如果http://www.jb51.net/test/index.html 建立了一个cookie,那么在http://www.jb51.net/test/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie. 这就是说,在http://www.jb5

动态-WPF怎么获取资源中的path路径控件

问题描述 WPF怎么获取资源中的path路径控件 /i:EventTrigger /i:EventTrigger/i:Interaction.Triggers 这是按钮的样式,我用path拼了个铅笔图案,想在后台动态改变铅笔的背景颜色. 但是不知道怎么获取.

ie9-【Raphael】在IE9及以上版本的IE中对于path的拖动表现不正常

问题描述 [Raphael]在IE9及以上版本的IE中对于path的拖动表现不正常 像下面这样改变path的attr来使其实现拖动效果,在FF,CHROM,IE8都正常,但是IE8以上的版本就不行,F12中可以看到该path的坐标属性值在变化,可是画面上的线纹丝不动...谁知道是为什么... path.attr({ "path": Raphael.fullfill("M{x1},{y1}L{x2},{y2}", { x1: p[0].x, y1: p[0].y, x

java File中 相关path疑问

问题描述 java File中 相关path疑问 File中的 getPath()和 getAbsolutePath(),getCanonicalPath() 有什么区别? 我自己验证是打印出的路径都一样,谁能举例或者能说出区别 ? 非常感谢 D:STSworkspace-stsinvoicingtargettest-classescnhyxiofiletesttest1.hyx.csv D:STSworkspace-stsinvoicingtargettest-classescnhyxiofi