2011-08-15 15 views
11

का उपयोग करके एक UIImage मास्क करें, मैं एक छवि को मुखौटा करने की कोशिश कर रहा हूं ताकि मैं इसे केवल दो गोलाकार कोनों दे सकूं। मेरे पास जो कोड है, उसके साथ छवि पर सफेद में मास्क जोड़ता है, लेकिन ऐसा प्रतीत नहीं होता है। छवि कोनों को मुखौटा करने के लिए मुझे अलग करने की क्या ज़रूरत है?आईओएस: UIBezierPath

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:maskLayer.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(16.f, 16.f)];  
maskLayer.fillColor = [[UIColor whiteColor] CGColor]; 
maskLayer.backgroundColor = [[UIColor clearColor] CGColor]; 
maskLayer.path = [roundedPath CGPath]; 

// Add mask 
self.imageView.layer.mask = maskLayer; 

उत्तर

6

Round two corners in UIView

ऊपर लिंक प्रश्न में उल्लेख किया है, तो आप शायद अपने मुखौटा लागू करने से पहले पदानुक्रम से देखने को दूर करने की जरूरत है।

[self.imageView removeFromSuperview]; 
self.imageView.layer.mask = maskLayer; 
[self.view addSubview:self.imageView]; 

इसके अलावा, आपके maskLayer कोई bounds है। आप इसे मास्क करने का प्रयास कर रहे दृश्य के frame (या bounds) पर सेट करने की आवश्यकता है।

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.frame = self.imageView.frame; 
+0

darvidsOn क्या आप मुझे बता सकते हैं कि मैं इस मुखौटा छवि को UIImage में कैसे स्टोर कर सकता हूं ... ??? –

+1

कृपया ऐप्पल के दस्तावेज़ पढ़ें। मैं ['UIImage'] (http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html) से शुरू करूंगा, और [' CGImage'] (http: //developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGImage/Reference/reference.html#//apple_ref/doc/uid/TP30000956- संदर्भ- DontLinkElementID_1), जो अंतर्निहित छवि ऑब्जेक्ट ' UIImage'। आप देखेंगे कि 'CGImage' में मास्क का उपयोग करके एक छवि बनाने के लिए फ़ंक्शन हैं, और फिर एक' UIImage' कन्स्ट्रक्टर जो आपकी नई 'CGImage' छवि के रूप में लेता है। – darvids0n

+0

आपके उत्तर के लिए धन्यवाद। मुझे कुछ भी नहीं मिला क्योंकि मैं पूछ रहा हूं ... –

संबंधित मुद्दे