2012-01-07 16 views
7

इस सूत्र मैं इस कोड के साथ कोणकोर ग्राफिक्स आयत

double rotateAngle = atan2(y,x) 

मिला के साथ बारी बारी से मैं एक आयत आकर्षित कर सकते हैं

CGRect rect = CGRectMake(x,y , width ,height); 
CGContextAddRect(context, rect); 
CGContextStrokePath(context); 

मैं कोण के आसपास आयत कैसे बारी बारी से कर सकते हैं?

उत्तर

27

यहाँ आप यह कैसे कर करेंगे:

CGContextSaveGState(context); 

CGFloat halfWidth = width/2.0; 
CGFloat halfHeight = height/2.0; 
CGPoint center = CGPointMake(x + halfWidth, y + halfHeight); 

// Move to the center of the rectangle: 
CGContextTranslateCTM(context, center.x, center.y); 
// Rotate: 
CGContextRotateCTM(context, rotateAngle); 
// Draw the rectangle centered about the center: 
CGRect rect = CGRectMake(-halfWidth, -halfHeight, width, height); 
CGContextAddRect(context, rect); 
CGContextStrokePath(context); 

CGContextRestoreGState(context); 
+0

THX आपकी मदद! यह ठीक काम किया! – user1125890

+0

कोई समस्या नहीं! यदि आपने मेरा उत्तर स्वीकार कर लिया है तो मैं इसकी सराहना करता हूं! धन्यवाद। – Steve

+4

बिल्कुल सही। एक मॉड को इसे स्वीकार करने के रूप में चिह्नित करना चाहिए, क्योंकि उपयोगकर्ता11258 9 0 में स्पष्ट रूप से बेहतर चीजें हैं। मैं खुद को यह कभी नहीं समझ सका। धन्यवाद! – Accatyyc

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