日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF:Graphics绘图--Shapes形状

發布時間:2023/12/15 asp.net 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF:Graphics绘图--Shapes形状 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Shapes形狀

  • 文件結構:

  • FillRuleExample

Polygon.FillRule:該枚舉指定如何確定形狀的內部填充。

<PolygonPoints="10,100 50,0 90,100 0,35 100,35"Fill="Gold"Stroke="Black"StrokeThickness="3"FillRule="EvenOdd"Canvas.Left="150"Canvas.Top="20" />

擴展:

  • EvenOdd:此規則確定一個點是否位于填充區域內,具體方法是從該點沿任意方向畫一條無限長的射線,然后計算該射線在給定形狀中因交叉而形成的路徑段數。 如果該數為奇數,則點在內部;如果為偶數,則點在外部。
  • 例:

    <Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF"><Path.Data><GeometryGroup FillRule="EvenOdd"><EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" /><EllipseGeometry RadiusX="70" RadiusY="70" Center="75,75" /><EllipseGeometry RadiusX="100" RadiusY="100" Center="75,75" /><EllipseGeometry RadiusX="120" RadiusY="120" Center="75,75" /></GeometryGroup></Path.Data> </Path>


    擴展:

  • NonZero:此規則確定一個點是否位于路徑的填充區域內,具體方法是從該點沿任意方向畫一條無限長的射線,然后檢查形狀段與射線的交點。 從零開始計數,每當線段從左向右穿過該射線時加 1,而每當路徑段從右向左穿過該射線時減 1。 計算交點的數目后,如果結果為零,則說明該點位于路徑外部。 否則,它位于路徑內部。
  • 例:

    • LinecapsAndJoinsExample

    Shape.StrokeLineJoin:指定在 Shape 的頂點處使用的聯接類型。如果在沒有頂點的元素(如 Line 元素)上設置此屬性,則此屬性不起作用。

    <PolylinePoints="50,50 75,30 100,100 130,40"Stroke="Red"StrokeThickness="20"StrokeLineJoin="Bevel"Grid.Row="2" Grid.Column="1"/>

    Shape.StrokeStartLineCap、StrokeEndLineCap
    如果在沒有 Stroke 或沒有起點或終點的形狀上設置此屬性,則此屬性不起作用。 例如,如果在 Ellipse 上設置此屬性,則此屬性不起作用。

    <PolylinePoints="50,50 75,30 100,100 130,40"Stroke="Red"StrokeThickness="20"StrokeStartLineCap="Round"StrokeEndLineCap="Round" Grid.Row="3" Grid.Column="4"/>
    • MiterLimitExample

    Shape.StrokeMiterLimit:對斜接長度與 Shape 元素的 StrokeThickness 的一半之比的限制。
    斜接通過使兩條連接線條的末端傾斜來構成角部。 當兩條線段形成銳角時,斜接可能會延伸到繪制路徑的線條寬度之外。

    <!-- The corner is cut off (beveled) because the miter limitis set to 1.--> <PolylinePoints="0,10 50,10 20,35"Stroke="#9999CC"StrokeThickness="20"StrokeMiterLimit="2"Canvas.Top="30"Canvas.Left="250"/>
    • Plygon:多邊形

    此對象與 Polyline 對象類似,不同的是,此對象必須是閉合的形狀。

    <Canvas Height="350" Width="350"><Polygon Name="hexagon"Stroke="Blue"StrokeThickness="2.0"Points="176,30 302.44,103 302.44,249 176,322 49.5603,249 49.5603,103"><Polygon.Fill><RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"><RadialGradientBrush.GradientStops><GradientStop Color="Red" Offset="0" /><GradientStop Color="Gold" Offset="0.75" /></RadialGradientBrush.GradientStops></RadialGradientBrush></Polygon.Fill></Polygon><Polygon Name="star" Stroke="Blue" Fill="LightCoral" StrokeThickness="2.0" Points="176.5,50 189.2,155.003 286.485,113.5 201.9,177 286.485,240.5 189.2,198.997 176.5,304 163.8,198.997 66.5148,240.5 151.1,177 66.5148,113.5 163.8,155.003" /></Canvas>
    • RectangleExample

    矩形圓角為:可選的 RadiusX 和 RadiusY 屬性
    ps:在為 Grid 面板的某些部分提供背景時矩形特別有用。

    • StretchExamplet填充效果

    描述形狀如何填充為它分配的空間。

    <Border Grid.Row="5" Grid.Column="2" Style="{StaticResource MyGridBorderStyle}" HorizontalAlignment="Left"><Canvas Height="200" Width="200"><Border Height="100" Width="50" Canvas.Top="50" Canvas.Left="70" BorderBrush="Black" BorderThickness="1" ><Polygon Height="100" Width="50" Points="0,0 10,10 0,10" Fill="Blue" Stretch="UniformToFill"/></Border></Canvas> </Border>

    總結

    以上是生活随笔為你收集整理的WPF:Graphics绘图--Shapes形状的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。