原 Wpf應用Path路徑繪製圓弧

2021-09-08 05:15:17 字數 3602 閱讀 6451

原文:

[原]wpf應用path路徑繪製圓弧

1.移動指令:move command(m):m 起始點  或者:m 起始點

比如:m 100,240或m 100,240

使用大寫m時,表示絕對值; 使用小寫m時; 表示相對於前一點的值,如果前一點沒有指定,則使用(0,0)。

2.繪製指令(draw command):

我們可以繪製以下形狀:

(1) 直線:line(l)

(2) 水平直線: horizontal line(h)

(3) 垂直直線: vertical line(v)

(4) 三次方程式貝塞爾曲線: cubic bezier curve(c)

(5) 二次方程式貝塞爾曲線: quadratic bezier curve(q)

(6) 平滑三次方程式貝塞爾曲線: smooth cubic bezier curve(s)

(7) 平滑二次方程式貝塞爾曲線: smooth quadratic bezier curve(t)

(8) 橢圓圓弧: elliptical arc(a) 

繪製指令格式語法:

(1) 直線:line(l)

格式:l 結束點座標 或: l 結束點座標。

比如:l 100,100 或 l 100 100。座標值可以使用x,y(中間用英文逗號隔開)或x y(中間用半形空格隔開)的形式。

(2) 水平直線  horizontal line(h):繪製從當前點到指定x座標的直線。

格式:h x值 或 h x值(x為system.double型別的值)

比如:h 100或h 100,也可以是:h 100.00或h 100.00等形式。

(3) 垂直直線 vertical line(v):繪製從當前點到指定y座標的直線。

格式:v y值 或 v y值(y為system.double型別的值)

比如:v 100或y 100,也可以是:v 100.00或v 100.00等形式。

(4) 三次方程式貝塞爾曲線 cubic bezier curve(c):通過指定兩個控制點來繪製由當前點到指定結束點間的三次方程貝塞爾曲線。

格式:c 第一控制點 第二控制點 結束點 或 c 第一控制點 第二控制點 結束點

比如:c 100,200 200,400 300,200 或 c 100,200 200,400 300,200

其中,點(100,200)為第一控制點,點(200,400)為第二控制點,點(300,200)為結束點。

(5) 二次方程式貝塞爾曲線 quadratic bezier curve(q):通過指定的乙個控制點來繪製由當前點到指定結束點間的二次方程貝塞爾曲線。

格式:q 控制點 結束點 或 q 控制點 結束點

比如:q 100,200 300,200。其中,點(100,200)為控制點,點(300,200)為結束點。

(6) 平滑三次方程式貝塞爾曲線: smooth cubic bezier curve(s):通過乙個指定點來「平滑地」控制當前點到指定點的貝塞爾曲線。

格式:s 控制點 結束點 或 s 控制點 結束點

比如:s 100,200 200,300

(7) 平滑二次方程式貝塞爾曲線 smooth quadratic bezier curve(t):與平滑三次方程貝塞爾曲線類似。

格式:t 控制點 結束點 或 t 控制點 結束點

比如:t 100,200 200,300

(8) 橢圓圓弧: elliptical arc(a) :在當前點與指定結束點間繪製圓弧。

a 尺寸 圓弧旋轉角度值 優勢弧的標記 正負角度標記 結束點

或:a 尺寸 圓弧旋轉角度值 優勢弧的標記 正負角度標記 結束點

尺寸(size): system.windows.size型別,指定橢圓圓弧x,y方向上的半徑值。

旋轉角度(rotationangle):system.double型別。

圓弧旋轉角度值(rotationangle):橢圓弧的旋轉角度值。 

優勢弧的標記(islargearcflag):是否為優勢弧,如果弧的角度大於等於180度,則設為1,否則為0。 

正負角度標記(sweepdirectionflag):當正角方向繪製時設為1,否則為0。 

結束點(endpoint):system.windows.point型別。

3.關閉指令(close command):用以將圖形的首、尾點用直線連線,以形成乙個封閉的區域。

用z或z表示。

1

<

canvas

margin

="123,0,10,22"

>

2<

path

stroke

="#ffe23838"

strokethickness

="5"

width

="500"

height

="800"

strokedasharray

="2 1"

strokedashcap

="round"

>

3<

path.data

>

4<

geometrygroup

>

5<

pathgeometry

figures

="m 100,10 a 100,100 0 0 0 200,10"

/>

6<

pathgeometry

figures

="m 100,50 a 100,100 0 1 0 200,50"

/>

7<

pathgeometry

figures

="m 100,450 a 100,100 0 1 1 200,450"

/>

8<

pathgeometry

figures

="m 100,500 a 100,50 45 1 0 300,500"

/>

9geometrygroup

>

10path.data

>

11path

>

12canvas

>

效果圖  

紅色部分角度設定一直不好用,不知道為什麼?

詳細語法說明:wpf中圖形表示語法詳解(path之data屬性語法)

WPF組合Path繪製

假設我們需要繪製如圖的組合圖形 一般的解決方案是如下 建立乙個canvas包含這三部分,如左圖所示。margin 508,604,508,604 scalex 0.8 scaley 0.8 transformgroup canvas.rendertransform stroke black stro...

WPF繪製簡單常用的Path

原文 wpf繪製簡單常用的path 寫 出身的我們經常需要使用一些簡單 但是不是規則圖形的path 但限於美工功底有限 不知道怎麼去畫 下面我告訴大家一些簡單的小技巧 用 來畫path 個人還是比較喜歡用 因為數值控制的更精細 msdn告訴我們,path可以用這些形狀繪製 arcsegment 類 ...

在 WPF 中使用 Path 路徑

在 wpf 中總會修改 button 的 style,比如乙個自定義的 close 按鈕。剛入門的可能會用一張 png 格式的來做這個按鈕的 icon,但這個是不優雅的。而且你要改的時候還得去操作檔案,想想都痛苦。但是很多人苦於不知道去 獲取 path,當然網上已經有不少使用 photoshop 獲...