我創建一個iOS的用戶界面,允許用戶選擇現有圖像內的矩形,拖動矩形的角到所需的大小如何。我現在有四個自定義UIButtons(30%阿爾法)和一個自定義視圖(也有30%阿爾法),在四個角落按鈕之間繪製虛線。的drawRect:我做一個「倒卡」
爲了「改善」界面,我希望我的drawRect代碼能夠使圖像的裁剪部分顯得「正常」,而裁剪區域外的所有東西都被沖掉(填充白色,這會給我正確的因爲UIView設置爲30%alpha)。
明顯的算法是:
- 裝滿[的UIColor whiteColor]整個圖像填滿
- 畫出四條虛線與[的UIColor clearColor]填寫
當我做這個,明顯的填充沒有出現。我認爲這是因爲在步驟#2中沒有看到清晰顏色的「填充」,因爲在步驟#1中像素已經被設置爲白色。也許有一種混合模式可以讓我看到第二個矩形的透明度?我不確定各種混合模式。
我的第二次嘗試,其工作方式,執行以下操作:
- 畫出與[的UIColor clearColor]四個虛線填充
- 繪製附加四個矩形與[的UIColor whiteColor]填充,每個代表的部分在裁剪區域的左側,右側,上方和下方。
正如我所說,這種方法的工作原理,但在我看來,應該有一個更簡單的方法,而不是我必須每次計算這四個額外的矩形。
有對使用的CALayer和口罩SO Create layer mask with custom-shaped hole過類似的問題,但這似乎是大材小用我需要什麼。
有沒有人有任何建議如何改善?
'kCGBlendModeClear'似乎已經做到了!非常感謝! – lar3ry 2012-01-28 04:31:54