ArcSegment 类
This page is specific to:.NET Framework Version:3.03.5Silverlight 3
.NET Framework 类库
ArcSegment 类

更新:2007 年 11 月

表示两点之间的一条椭圆弧。

命名空间:  System.Windows.Media
程序集:  PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation

语法

Public NotInheritable Class ArcSegment _
    Inherits PathSegment
Dim instance As ArcSegment
我们尚未提供此语言的代码示例。
public final class ArcSegment extends PathSegment
<ArcSegment .../>
备注

使用 PathFigure 对象存储 ArcSegment 对象和其他线段。

一条椭圆弧由下列元素定义:它的起点和终点、X 轴半径和 Y 轴半径、X 轴旋转因子、一个指示弧是否应大于 180 度的值和一个描述弧的绘制方向的值。ArcSegment 类不包含弧的起点属性,它仅定义它所要表示的弧的目标点。弧的起点是 PathFigure(其中添加了 ArcSegment)的当前点。

下图演示不同的终点、SizeRotationAngle 设置。

具有不同 Point 设置的 ArcSegment具有不同 Size 设置的 ArcSegment具有不同 RotationAngle 设置的 ArcSegment

IsLargeArc 和 SweepDirection

对于大多数具有特定位置、大小和旋转角度的弧,可以绘制四种不同的弧;IsLargeArcSweepDirection 属性指示要使用哪种弧。

在这四种候选弧扫掠中,两种表示扫掠 180 度或大于 180 度的大弧,另外两种表示扫掠 180 度或小于 180 度的小弧。如果 IsLargeArctrue,则选择一种大弧扫掠;如果为 false,则选择一种小弧扫掠。其余两种候选弧分别以不同方向绘制:CounterclockwiseClockwiseSweepDirection 属性指定要使用哪个方向。

下图演示不同的 IsLargeArcSweepDirection 设置。

具有不同 IsLargeArc 设置的 ArcSegment 对象

具有不同 IsLargeArc 设置的 ArcSegment
具有不同 SweepDirection 设置的 ArcSegment 对象

具有不同 SweepDirection 设置的 ArcSegment

Freezable 功能

ArcSegment 是一种 Freezable 对象。有关 Freezable 功能(例如冻结和克隆)的信息,请参见 Freezable 对象概述

示例

此示例演示如何绘制椭圆弧。若要创建椭圆弧,请使用 PathGeometryPathFigureArcSegment 类。

在下面的示例中,椭圆弧是从 (10,100) 到 (200,100) 绘制而成的。该弧的 Size 为 100 x 50 个与设备无关的像素、RotationAngle 为 45 度、IsLargeArc 设置为 trueSweepDirectionCounterclockwise

xaml

在可扩展应用程序标记语言 (XAML) 中,可以使用属性语法来描述路径。

<Path Stroke="Black" StrokeThickness="1"  
  Data="M 10,100 A 100,50 45 1 0 200,100" />


xaml

(请注意,此属性语法实际上创建一个 StreamGeometryPathGeometry 的轻量版本)。有关更多信息,请参见路径标记语法页。)

在 XAML 中,还可以通过显式使用对象标记来绘制椭圆弧。下面的内容等效于前面的 XAML 标记。

<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigureCollection>
          <PathFigure StartPoint="10,100">
            <PathFigure.Segments>
              <PathSegmentCollection>
                <ArcSegment Size="100,50" RotationAngle="45" IsLargeArc="True" SweepDirection="CounterClockwise" Point="200,100" />
              </PathSegmentCollection>
            </PathFigure.Segments>
          </PathFigure>
        </PathFigureCollection>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>


此示例摘自一个更大的示例。有关完整示例,请参见几何图形示例

继承层次结构

System..::.Object
  System.Windows.Threading..::.DispatcherObject
    System.Windows..::.DependencyObject
      System.Windows..::.Freezable
        System.Windows.Media.Animation..::.Animatable
          System.Windows.Media..::.PathSegment
            System.Windows.Media..::.ArcSegment
线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.5、3.0
另请参见

参考

其他资源

© 2009 Microsoft Corporation 版权所有。   保留所有权利 | 商标 | 隐私权声明
Page view tracker
为轻量型库评级
x
依无脚本原则生成的轻量型库 (loband),添加了大家要求的功能:搜索框和默认代码语言选择。
您喜欢这个搜索框吗?
您喜欢标签式代码块吗?
此主题有用吗?
提供详细反馈。
谢谢
x
感谢您帮助改善 MSDN Online。
反馈意见
切换视图
经典视图
轻量型视图
无脚本视图
切换视图