2012-02-11 22 views

回答

2

在新創建的上下文中,線寬始終爲1.只要使用變量在庫中更改線寬時,是否可以手動跟蹤線寬?

+0

當然*我*可以做到這一點,但是當構建一個可重複使用的庫來做一些繪圖時,除非有人通過它,否則我不控制線寬。這並不算太壞,但這意味着我正在改變上下文狀態,我也必須恢復它,並且我不知道保存/恢復方法有多昂貴。有一件事,CGContextRef只是CGContext結構的指針類型,但我沒有看到在任何地方定義的結構。希望Line Width是它的一個成員,但是我再次在標題中找不到它。 – MarqueIV 2012-02-11 18:59:19

+0

夠公平的。我看了看,但是我也找不到它。我認爲你必須按照你的建議來保存/恢復上下文,或者重新設計你的API,這樣CGContext就不會被暴露(允許你控制它在內部被操縱的方式,並確保線寬等不會被改變,除非通過你的方法)。 – 2012-02-11 23:36:01

+0

是的,考慮到這是一個直接與CGContext一起工作的API,所以不能重新設計它,所以沒有了。我對保存/恢復狀態有點懷疑,因爲如果人們使用我們的幾個繪圖調用,特別是在同一個循環中,這可能會非常昂貴。猜猜我只需告訴別人何時使用它,a)他們必須通過寬度,b)當他們這樣做時,它會改變它的上下文。臭,但你可以做什麼。 – MarqueIV 2012-02-12 01:52:19