Quartz2D使用(矩陣操作)

2022-09-02 18:42:09 字數 1758 閱讀 3499

quartz2d使用(矩陣操作)

一、關於矩陣操作

1.畫乙個四邊形

通過設定兩個端點(長和寬)來完成乙個四邊形的繪製。

**:

1 - (void)drawrect:(cgrect)rect

2

說明:通過這種方式畫矩形有弱點:畫出來的矩形永遠都是正的。如下圖:

2.畫乙個歪的四邊形

如何畫乙個歪的矩形?(通過矩陣操作來完成,和形變操作相似)

可以通過矩陣操作,把畫出來的東西進行形變(旋轉,縮放,平移)

方法:cgcontextrotatectm(, )該接受兩個引數(圖形上下文,弧度)

注意點:設定矩陣操作必須要在新增圖形之前,如果設定在新增圖形之後的話,此時它已經畫完了,無效。

**:

1 - (void)drawrect:(cgrect)rect

2

效果:

二、關於旋轉

1.旋轉演示

view之所以能夠顯示檢視,是因為它的上面有layer,將來圖形也是渲染到layer上面。

且,旋轉的時候是整個layer都旋轉了,可以再畫乙個圓進行驗證。

**1(未旋轉):

1 - (void)drawrect:(cgrect)rect

2

效果:

**2(旋轉):

1 - (void)drawrect:(cgrect)rect

2

效果:

2.關於旋轉的補充說明

三、縮放

方法:cgcontextscalectm(, , )

該方法接收三個引數(圖形上下文,x方向的縮放比例,y方向上的縮放比例

**示例:

1 - (void)drawrect:(cgrect)rect

2

效果:

四、平移

方法: cgcontexttranslatectm(, , )

該方法接收三個引數(圖形上下文,x方向的偏移量,y方向上的偏移量)   

**示例:

1 - (void)drawrect:(cgrect)rect

2

效果:

Quartz 2D 簡單使用

想要在uiview內部繪製一下東西,需要自定義uiview,並且實現uiview的 void drawrect cgrect rect方法,為什麼需要實現drawrect 方法才能繪圖到 view 上,是因為在 drawrect 方法中才能取得跟 view 相關聯的圖形上下文,那麼什drawrect...

iOS開發UI篇 Quartz2D使用(矩陣操作)

一 關於矩陣操作 1.畫乙個四邊形 通過設定兩個端點 長和寬 來完成乙個四邊形的繪製。1 void drawrect cgrect rect 2說明 通過這種方式畫矩形有弱點 畫出來的矩形永遠都是正的。如下圖 2.畫乙個歪的四邊形 如何畫乙個歪的矩形?通過矩陣操作來完成,和形變操作相似 可以通過矩陣...

iOS 使用Quartz 2D畫線

畫虛線需要用到函式 cgcontextsetlinedash 此函式需要四個引數 cgcontextref context uigraphicsgetcurrentcontext cgcontextbeginpath context cgcontextsetlinewidth context,2.0...