WPF組合Path繪製

2021-09-11 10:35:04 字數 2718 閱讀 6135

假設我們需要繪製如圖的組合圖形:

一般的解決方案是如下**,建立乙個canvas包含這三部分,如左圖所示。

margin

="508,604,-508,-604"

>

>

>

scalex

="0.8"

scaley

="0.8"

/>

/>

/>

/>

transformgroup

>

canvas.rendertransform

>

stroke

="black"

strokethickness

="0"

width

="300"

height

="50"

stretch

="fill"

name

="uparch5"

>

>

figures

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

/>

path.data

>

>

startpoint

="0,0"

endpoint

="1,1"

>

color

="gray"

/>

lineargradientbrush

>

path.fill

>

path

>

stroke

="black"

strokethickness

="0"

height

="100"

stretch

="fill"

canvas.top

="50"

canvas.left

="0"

name

="rect5"

>

>

rect

="0,50,300,100"

/>

path.data

>

>

startpoint

="0,0"

endpoint

="1,1"

>

color

="gray"

/>

lineargradientbrush

>

path.fill

>

path

>

stroke

="black"

strokethickness

="0"

width

="300"

height

="50"

stretch

="fill"

name

="downarch5"

canvas.top

="150"

>

>

figures

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

/>

path.data

>

>

startpoint

="0,0"

endpoint

="1,1"

>

color

="gray"

/>

lineargradientbrush

>

path.fill

>

path

>

canvas

>

而實際上,通過path 的geometrygroup可以將這些組合起來,如右圖所示。

stroke

="black"

strokethickness

="0"

width

="300"

height

="200"

stretch

="fill"

x:name

="uparch"

margin

="785,10,697,-310"

>

>

>

figures

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

/>

rect

="0,100,200,100"

/>

figures

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

/>

geometrygroup

>

path.data

>

>

startpoint

="0,0"

endpoint

="1,1"

>

color

="red"

/>

lineargradientbrush

>

path.fill

>

path

>

WPF繪製簡單常用的Path

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

原 Wpf應用Path路徑繪製圓弧

原文 原 wpf應用path路徑繪製圓弧 1.移動指令 move command m m 起始點 或者 m 起始點 比如 m 100,240或m 100,240 使用大寫m時,表示絕對值 使用小寫m時 表示相對於前一點的值,如果前一點沒有指定,則使用 0,0 2.繪製指令 draw command ...

WPF 中 Path 使用虛線

效果如下 上圖由兩個圓弧組成,如下 path data m 50,200 a 100,100 200 1 0 200,100 stroke red strokethickness 5 fill transparent path data m 50,200 a 100,100 200 0 1 200,...