2009-06-22 12 views
7

मैं एक बहुभुज आकार को भरना चाहता हूं जिसे मैंने कोर ग्राफिक्स के माध्यम से एक रैखिक CGGradient के साथ खींचा है। CGContextDrawLinearGradient फ़ंक्शन एक बिंदु से दूसरे बिंदु पर ढाल खींचता है लेकिन यह पूरे दृश्य को भरता है। मैं केवल बहुभुज आकार के अंदर ढाल को कैसे प्रदर्शित कर सकता हूं?CGContext में एक ढाल के साथ एक आकार भरना

उत्तर

16

आप अपने वांछित आकार में एक CGMutablePath निर्माण कर सकते हैं तो इसका इस्तेमाल क्षेत्र आप प्रदर्शित करना चाहते हैं, कुछ की तरह करने के लिए क्लिप करने के लिए ...

// Construct yourClipPath 

CGContextAddPath(yourContext, yourClipPath); 
CGContextClosePath(yourContext); 
CGContextClip(yourContext); 

// Draw Your Gradient 
+2

धन्यवाद, कि काम करता है! मुझे पता चला कि मुझे क्षेत्र को अनलिप करने के लिए CGContextSaveGState/CGContextRestoreGState को कॉल करना था। – titaniumdecoy