用戶是否可以圍繞想要裁切的UIImageView
的位繪製虛線(圍成一圈),然後再將UIImageView
調整爲這些點的大小?這是一個有點像Photoshop中的套索/選取框效果:如何將UIImageView裁切爲自定義形狀
回答
更新:由於iOS的8.x中的UIImageView提供maskView
屬性。只需準備一些不透明像素的圖像,使用該遮罩圖像創建另一個圖像視圖,並將該遮罩圖像視圖設置爲遮罩視圖。蒙版圖像中的不透明像素將顯示在底層圖像中。
UIImageView *maskView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"somemask"]];
maskView.frame = imageView.bounds;
imageView.maskView = maskView;
// imageView will be masked by maskView
。
原來的答案
有相當多的事,但這裏有一個高層次的輪廓:
- 創建一個空的圖像,這將成爲一個面具
- 建立一個路徑來自用戶輸入的圖像
- 填充路徑將其變成面具
- 將面罩應用到imageview的圖像
創建圖像:這裏的一個簡單的想法是將黑色圖像與您的項目一起發送。它的大小應該與用戶可以選擇的最大區域相匹配。將圖像讀入內存(UIImage imageNamed:
),並通過調用UIGraphicsBeginImageContext
將其設置爲繪圖上下文。
創建路徑:(see apple docs)。當用戶開始撫摸區域時,請撥打CGContextBeginPath
,然後按照用戶手勢操作,對觸摸進行採樣並通過重複調用CGContextMoveToPoint
作爲touchesMoved來添加小片段。
創建蒙版:要將路徑轉換爲蒙版,您需要黑色背景和路徑填充白色。如果你從黑色圖像開始,你只需要做填充。請參閱相同的蘋果指南。
最後,你將這個面具應用到你的imageView的圖像。 Here's a decent reference。
嗨,先生,請幫助我我的項目臉形狀圖像作物嘗試許多圖書館,但不完美的圖像作物讓我知道任何想法.. –
@RamaniHitesh - 答案是有點過時了。看看改進的技術是否有助於你。 – danh
好吧,先生,不要擔心...任何想法,請建議我 –
這隻回答你的問題的一部分,我想,但這裏是一個example如何繪製和動畫虛線(即行軍螞蟻效果)。
- 1. 將UIImageView切成自定義形狀
- 2. 通過自定義形狀裁剪UIImage
- 3. 用UIImageView掩蓋自定義形狀
- 4. 如何將我的Dia圖形保存爲自定義形狀?
- 5. 如何在不同形狀中裁剪UIImageView
- 6. 如何將圖像視圖轉換爲自定義形狀(swift3)
- 7. 如何從矩形疊加裁剪uiimageView?
- 8. 用自定義形狀自定義ImageView
- 9. 如何製作KineticJs自定義形狀
- 10. 如何自定義形狀的截圖?
- 11. 如何創建自定義形狀
- 12. 懸停到自定義形狀。如何?
- 13. 從照片中裁剪自定義形狀
- 14. 如何使用形狀來定義裁剪區域?
- 15. 自定義矩形的圖像裁剪
- 16. iPhone開發自定義形UIImageview
- 17. 爲按鈕創建自定義形狀
- 18. 形狀裁剪
- 19. 如何自定義形狀如星形和圓形的圖像?
- 20. 自定義形狀的iframe
- 21. CSS自定義形狀
- 22. 自定義按鈕形狀
- 23. UIView與自定義形狀
- 24. html5 canvas自定義形狀
- 25. 自定義ActionBar形狀android
- 26. 自定義形狀NSButton
- 27. 自定義形狀:Android的
- 28. 作物自定義形狀
- 29. InkAnalyzer UWP - 自定義形狀
- 30. UIViewController.view.superview自定義形狀
啊,那我怎麼能做到這一點?我怎樣才能使選框外的位透明?那麼首先,我想我的問題是 - 我怎樣才能從圖紙中獲得選取框內部的CGRect?我目前有一個用CGContext設置的UIKit圖形視圖等。 –
謝謝@NSPostWhenIdle! –