WPF 基礎 繪畫 2 Path

2022-06-05 11:12:08 字數 2163 閱讀 4225

1. path 霸中霸

既可以替代其他幾種圖形,也可以將直線、圓弧、貝爾賽曲線組合起來;

重要屬性:geometry data;

其中 geometry 為抽象類,不可例項化,可使用其子類:

linegeometry、rectanglegeometry、ellipsegeometry、pathgeometry、

streamgeometry、combinedgeometry、geometrygroup

效果:

pathgeometry 的 figures 屬性可以容納 pathfigure 物件,pathfigure 的 segments 屬性又可以容納各種線段用於結合成複雜圖形;

預設內容屬性可以簡化標籤寫法。

1.1 線段型別

這些線段都以上乙個線段的終點作為自己的起點,而第乙個線段你的起點就是 pathfigure 的 startpoint。

linesegment : point 表示終點

arcsegment : size 屬性是完成橢圓的橫、縱軸半徑,

sweepdirection 表明圓弧是順/逆時針,clockwise/counterclockwise

islargearc 屬性用於指明是否使用大弧去連線,

rotationangle 圓弧母橢圓的旋轉角度

beziersegment : point1 表示起點先沿 point1 點的方向走

point2 表示再沿 point2 點的方向走

point3 最後到達 point3 點(的平滑曲線)

quadraticbeziersegment : 比 beziersegment 少乙個控制點

1.2 geometrygroup

geometrygroup 可以把多個 pathgeometry 的形狀疊在一起。

1.3 路徑標記語法

一條線段是一條標籤,路徑標記語法避免乙個圖形包括數十條線段導致數十行**。

"m" 表示起點

= "l 150,50"

"h 180" 表示一條水平線段,橫座標到 180

"v 180" 表示垂直

"a 180,80 45 1 1 150,150" 圓弧 size、

rotationangle、

islargearc(1=true)、

sweepdirection(1=clockwise)、

point

"c 250,0 50,200 300,200" 三次方貝塞爾beziersegment point1、point2、point3

"q 150,-100 300,200" 二次方貝塞爾quadraticbeziersegment point1、point2、point3

"s 100,200 200,300" 平滑三次貝塞爾

"t 200,300" 平滑二次貝塞爾

"z" 表示閉合

s、t 比較特殊,s 以前一條貝塞爾曲線的最後乙個控制點以起點為對稱中心的對稱點作為自己的第一控制點,細品。平滑。

兩者等價

效果:

1.4 clip 視窗剪影

WPF中繪畫和動畫(四)

接下來我們看乙個visualbrush的例子。為了簡單起見,目標控制項是乙個button,實際工作中換成複雜控制項的效果也一樣。程式的xaml 如下 xmlns xmlns x title visualbrush height 300 width 400 background orange marg...

WPF中繪畫和動畫(3)

1 矩形 矩形由筆觸 stroke,即邊線 和填充 fill 構成。stroke屬性的設定於line一樣,fill屬性的資料型別是brush。brush是個抽象類,所以我們不可能拿乙個brush類的例項為fill屬性賦值而只能用brush派生類的例項進行賦值。wpf的繪畫系統包含非常豐富的brush...

繪畫的色彩基礎教程

很多人在學習繪畫的途中,首先學習的素描基礎,然後就是結構 動態 色彩 創作.然而最讓大家頭疼的就是上色,有的不會配色 有的不懂色 有的色感太差 有的亂塗.色彩是學習繪畫必須要過的一道坎!那麼今天,我將分6節課 每節課程是80分鐘左右 從色彩的基礎開始,逐一為大家剖析上色中會遇到的各種問題以及解決方法...