在 WPF 中使用 Path 路徑

2022-01-11 22:31:01 字數 2025 閱讀 7613

在 wpf 中總會修改 button 的 style,比如乙個自定義的 close 按鈕。剛入門的可能會用一張 png 格式的來做這個按鈕的 icon,但這個是不優雅的。而且你要改的時候還得去操作檔案,想想都痛苦。

但是很多人苦於不知道去**獲取 path,當然網上已經有不少使用 photoshop 獲取的 path ,但如果的質量不好,獲取的 path 歪歪曲曲的也不好看,更何況在這之前你還得會使用 photoshop。

現在分享乙個我經常使用的解決方案,阿里巴巴向量圖,這上面可以說有海量的圖示可以用到。

流程:1,進入 阿里巴巴向量圖 並搜尋你想要的圖示

3,用記事本或文字編輯器開啟,標籤 path 下的 d 屬性就是 path 的 data 資料(很多複雜一點的 icon 可能是多個 data 組成,使用時只要用空格把幾個 data 隔開就行)

例子:

<?

xml version="1.0" standalone="no"

?>

doctype svg public "-//w3c//dtd svg 1.1//en" ""

>

<

svg

t="1491032725422"

class

="icon"

style

=""viewbox

="0 0 1024 1024"

version

="1.1"

xmlns

=""p-id

="2372"

xmlns:xlink

=""width

="248"

height

="248"

>

<

defs

>

<

style

type

="text/css"

>

style

>

defs

>

<

path

d="m503.2868 510.9903m-349.4226 0a341.233 341.233 0 1 0 698.8452 0 341.233 341.233 0 1 0-698.8452 0z"

p-id

="2373"

>

path

>

<

path

d="m106.1386 263.9677a110 100 0 1 1 121.6696 248.2668z"

p-id

="2374"

>

path

>

svg>

在wpf中使用時:

<

path

data

="m503.2868 510.9903m-349.4226 0a341.233 341.233 0 1 0 698.8452 0 341.233 341.233 0 1 0-698.8452 0z m106.1386 263.9677a110 100 0 1 1 121.6696 248.2668z"/>

data 也可以作為資源放在獨立的資源字典裡,使用的 geometry 標籤

<

geometry

x:key

="logo"

>m503.2868 510.9903m-349.4226 0a341.233 341.233 0 1 0 698.8452 0 341.233 341.233 0 1 0-698.8452 0z m106.1386 263.9677a110 100 0 1 1 121.6696 248.2668zgeometry

>

xaml:

<

path

data=""

fill

="white"

stretch

="fill"

stroke

="white"

strokethickness

="1.5"

/>

WPF 中Path路徑的使用示例

basic path 大寫的 m 指示 startpoint 是絕對值 小寫的 m 指示 startpoint 是相對於上乙個點的偏移量,如果是 0,0 則表示不存在偏移。當您在移動命令之後列出多個點時,即使您指定的是線條命令,也將繪製出連線這些點的線。如 m 10,50 200,400 建立方法 ...

在WPF中使用ImageBox控制項

文章參考於 還可參考 首先是安裝並配置emgucv。由於imagebox控制項只支援windowsform不支援wpf。所以我們需要在wpf平台上載入windows form,然後再載入imagebox的控制項。首先,需要向專案中的reference 引用 新增兩個dll,乙個是.net庫中的sys...

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,...