繪制常見(jiàn)圖形_第1頁(yè)
繪制常見(jiàn)圖形_第2頁(yè)
繪制常見(jiàn)圖形_第3頁(yè)
繪制常見(jiàn)圖形_第4頁(yè)
繪制常見(jiàn)圖形_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

繪制常見(jiàn)圖形北京電子科技職業(yè)學(xué)院平面幾何圖形1平面幾何圖形平面幾何圖形:有些幾何圖形(如線段、角、三角形、長(zhǎng)方形、圓等)的各個(gè)部分都在同一平面內(nèi),它們是平面圖形。如直線、射線、角、三角形、平行四邊形、長(zhǎng)方形(正方形)、梯形和圓都是幾何圖形,這些圖形所表示的各個(gè)部分都在同一平面內(nèi),稱為平面圖形。平面圖形的大小,叫做它們的面積。點(diǎn)的形成是線,線的形成是面,面的形成是體,如圖所示。例如:有一組對(duì)邊平行的四邊形一定是平面圖形。平面幾何圖形在本項(xiàng)目中,我們主要采用UIKit繪圖方式來(lái)實(shí)現(xiàn)各種繪圖操作,主要是通過(guò)UIBezierPath這個(gè)類來(lái)實(shí)現(xiàn)的,創(chuàng)建基本的平面幾何圖形,如線段、正方形、圓、圓弧、長(zhǎng)方形、多邊形和貝塞爾曲線等,也可以根據(jù)自己的設(shè)計(jì)和計(jì)算,畫出一些特別的平面圖形,如五角星等。2圖形繪制類型圖形繪制類型UIKit繪圖方式實(shí)際是對(duì)CoreGraphics方式的一種簡(jiǎn)化封裝,可以采用面向?qū)ο蟮姆绞胶芊奖愕淖龈鞣N繪圖操作,主要是通過(guò)UIBezierPath這個(gè)類來(lái)實(shí)現(xiàn)的,創(chuàng)建基于矢量的路徑,例如各種直線、曲線、圓等等。基類Shape對(duì)于所有的圖形來(lái)講,我們可以設(shè)計(jì)一個(gè)基本類,其名稱就是Shape,主要建立所有圖形類所共有的基本的屬性和方法,當(dāng)然也包括構(gòu)造器。代碼詳見(jiàn)文檔

指定構(gòu)造器(DesignatedInitializers),對(duì)所有沒(méi)有默認(rèn)值的非可選屬性進(jìn)行初始化。

便利構(gòu)造器(ConvenienceInitializers),是在init前加一個(gè)關(guān)鍵字convenience,它為

一些屬性提供默認(rèn)值。這樣,在初始化時(shí)就無(wú)需給所有屬性賦值。便利構(gòu)造器通常要調(diào)用類自身的便利構(gòu)造器或者指定構(gòu)造器,不管是哪種,最終都要調(diào)用指定構(gòu)造器。圖形繪制類型2.線段類Line我們都已經(jīng)學(xué)會(huì)平面幾何圖形基本知識(shí),線段是通過(guò)鏈接兩個(gè)點(diǎn)來(lái)形成的。線段類Line派生字Shape類。Swift已經(jīng)提供了基本的畫線函數(shù)path.move(to:CGPoint)和path.addLine(to:CGPoint),一個(gè)是用于移動(dòng),一個(gè)是從當(dāng)前點(diǎn)開(kāi)始畫,到結(jié)束點(diǎn)為止。代碼詳見(jiàn)文檔3.矩形類Rectangle

矩形一般可以通過(guò)確定左上角的坐標(biāo)位置以及矩形的寬和高,就可以正確的畫出來(lái),正方形就是特殊的矩形,其寬和高相等。或者,知道這個(gè)矩形的中心坐標(biāo)以及矩形的寬和高,通過(guò)計(jì)算,也可以很方便的畫出這個(gè)矩形。

在本例中,我們采用UIKit中的UIBezierPath(rect:CGRect)方法來(lái)實(shí)現(xiàn)矩形的繪制,也可以采用前面畫線段的方法來(lái)繪制矩形。代碼詳見(jiàn)文檔圖形繪制類型

在實(shí)際編程中,我們還需要畫具有圓角的矩形,那就需要采用UIKit中的UIBezierPath(roundedRect:CGRect,cornerRadius:CGFloat)方法來(lái)實(shí)現(xiàn)矩形的繪制,這樣,需要修改這個(gè)矩形類。代碼詳見(jiàn)文檔

這樣在調(diào)用的時(shí)候如下:letmyRect=Rectangle(origin:start,size:CGSize(width:150,height:100),corner:8.0)

則會(huì)生成一個(gè)帶圓角的矩形。如果調(diào)用方法如下:letmyRect=Rectangle(origin:start,size:CGSize(width:150,height:100))

則會(huì)生成一個(gè)不帶圓角的普通矩形,因?yàn)樵陬惖谋憷麡?gòu)造器中,corner默認(rèn)數(shù)是0,也就是相當(dāng)于圓角為0。圖形繪制類型4.圓形類Circle

圓形一般可以通過(guò)確定圓所在的中心坐標(biāo)位置以及半徑,就可以正確的畫出來(lái),圓形也可以看作是寬和高相等橢圓?;蛘?,知道這個(gè)橢圓所外接的矩形,也可以很方便的畫出這個(gè)矩形。

在本例中,我們采用UIKit中的UIBezierPath(ovalIn:CGRect)方法來(lái)實(shí)現(xiàn)橢圓或者圓的繪制。

具體是繪制正圓還是橢圓可以直接通過(guò)width與height來(lái)控制,兩者相等繪制出來(lái)就是正圓,否則就是橢圓。代碼詳見(jiàn)文檔5.多邊形類Polygons

多邊形的繪制主要依賴move(to:CGPoint)與addLine(to:CGPoint)這兩個(gè)方法,通過(guò)不同的組合畫出不同的圖形。多個(gè)點(diǎn)鏈接起來(lái)就是建立一個(gè)多邊形,特殊的,三個(gè)點(diǎn)組成一個(gè)三角形。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論