天天看點

【萬裡征程——Windows App開發】繪制圖形

rectangle

我們開篇先介紹一個之前用過,也是比較簡單的rectangle。簡單的矩形就隻用定義長和寬了,但如果要有圓角的話呢,用radiusx和radiusy就好啦。那麼radiusx和radiusy到底是什麼呢?看看下圖就知道啦。

【萬裡征程——Windows App開發】繪制圖形

和rectangle類似,border也可以建立矩形,而且後者還可以有自對象以及會自動調整大小,前者隻能有固定的大小哦。

ellipse

看到這個名字大家應該都知道是什麼意思吧,如果要定義成圓的話讓height和width屬性相等即可。

那童鞋們都知道progressring是由6個ellipse組成的嗎,radiobutton也是由2個同心的ellipse組成的哦。

polygon

polygon則顯得比較自由,隻需要定義出各個頂點,它就會将這些點連接配接起來。那麼我們可能會有疑問,需不需要确定圖形的起始點和終點呢?答案是不用的,因為polygon會自動将終點和起始點連接配接起來(它會假設圖形是閉合的)。

【萬裡征程——Windows App開發】繪制圖形

如果要在背景c#檔案中來寫的話呢,原本的point則由pointcollection來定義所有點後添加到一起。

可能還有童鞋會有疑問,如果要起始點和終點不連接配接起來,那該怎麼辦呢?

這個時候polyline就閃亮登場啦。

【萬裡征程——Windows App開發】繪制圖形

雖說是閃亮登場,可我怎麼覺得線條是斜着的呢。

既然不是封閉的,那加上fill屬性會怎樣呢?

【萬裡征程——Windows App開發】繪制圖形

line

line的使用也比較簡單,但有一點要注意,必須設定好stroke和strokethickness的屬性值,否則line就不會顯示出來。原因很簡單,因為它是直線。

【萬裡征程——Windows App開發】繪制圖形

path

最後上台的自然是最厲害的啦,先上圖。

【萬裡征程——Windows App開發】繪制圖形

前兩個屬性用過多次了,data卻還挺複雜的。這裡有3個指令,m、c、h和v。如果按英文來記可能會容易些吧,分别是:move、control、horizontal和vertical。

那麼,重頭戲來了,先看圖^_^

【萬裡征程——Windows App開發】繪制圖形

接着上代碼。

這張圖花了我好久時間呢,希望大家也都會畫,雖然作用不大,不過花着玩玩也不錯。

【萬裡征程——Windows App開發】繪制圖形

我在圖上大概加了一些标注啦,另外rectanglegeometry的rect屬性有2個值,後者是相對于前者增加的長度哦。

最難的部分是beziersegment,也就是貝賽斯曲線,其中startpoint和point3分别為起點和終點,而point1和point2不是路徑喲,隻是給曲線的一個參考偏移方向。具體大家可以上維基百科看看。

那麼這一篇就此結束啦,大家有興趣的話就動手試試咯。我們下一篇再見,感謝你們的支援。

感謝通路,希望對您有所幫助。 歡迎關注或收藏、評論或點贊。

為使本文得到斧正和提問,轉載請注明出處:

http://blog.csdn.net/nomasp

繼續閱讀