iOS Quartz2D畫畫板的實現

2021-07-08 10:45:12 字數 1169 閱讀 6066

首先用storyboard搭建介面,沒有什麼好說的。

然後就是注意的功能了,這裡用了觸控事件來搭配quartz2d的路徑來畫畫。

思路就是把路徑放到陣列中

@property (nonatomic, strong) nsmutablearray *paths;
這裡注意 如果用c語言的這個方式

cgmutablepathref path = cgpathcreatemutable();

cgpathmovetopoint(path, null, 20, 20);

cgpathaddlinetopoint(path, null, 100, 100);

畫的話,是不能放到oc的陣列中的,所以用了uibezierpath建立乙個路徑物件。

uibezierpath *path =[uibezierpath bezierpath];
然後就是把路徑放到陣列中,渲染

注意:剛剛開始我沒有呼叫重繪方法,然後悲劇了,啥都沒有。鬱悶老半天。

重繪:

呼叫drawrect方法重回檢視

[self setneedsdisplay];
開始觸控:

// 開始觸控

- (void)touchesbegan:(nsset *)touches withevent:(uievent *)event

移動:

// 移動

- (void)touchesmoved:(nsset *)touches withevent:(uievent *)event

回退和清屏方法:

- (void)clearview

- (void)backview

畫線方法就是遍歷陣列中的uibezierpath物件來實現

// 畫線

- (void)drawrect:(cgrect)rect

}

iOS Quartz 2D 學習總結

1.檢視繪畫週期 drawrect方法,在任何時候,當檢視的一部分需要重畫時會呼叫。觸發呼叫的四種情況 1 對遮擋您的檢視的其它檢視進行移動或刪除操作。2 將檢視的hidden屬性宣告設定為no,使其從隱藏狀態變為可見。3 將檢視滾出螢幕,然後再重新回到螢幕上。4 顯式呼叫檢視的setneedsdi...

qt學習之個人畫板的實現(2)

結合上次的,我這次實現了 塗鴉功能,雖然不是很複雜,也確實花了不少時間去看qt基礎。但確實有一些注意點值得大家注意。特別是新手。一定要注意大小寫以及一些基本的語法規範,這樣會為你節省不少debug的時間。以下是我的畫圖元件的源 塗鴉實現 這是畫圖元件的標頭檔案,直接在新建的mainwindow 中新...

畫畫很渣的,你也能學習3D遊戲建模

不會畫畫,當然能學3d遊戲人物建模 無論是誰,都是從0開始學習的,當然是可以通過後期學習軟體,增強美術基礎,做出好看的模型。如果你沒有一點美術基礎的話,一開始就做角色建模會很難。角色的起點要求比較高,要求 有比較好的美術基礎,對人體結構有嫻熟的了解,當然還要會用3d軟體。完全0基礎的情況下,建議從小...