web-dev-qa-db-fra.com

Comment utiliser CGAffineTransformMakeRotation?

enter image description here

Je veux dessiner du texte en utilisant Quartz 2D. La direction du "menu" est incorrecte. Je veux "Menu" toujours lisible et avoir 45 degrés avec l'axe X. Voici mon code:

CGContextSelectFont(context, "Arial", 12, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);

CGContextSetRGBFillColor(context, 0, 0, 0, 1); // 6 
CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);

CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));   
CGContextSetTextMatrix(context, CGAffineTransformMakeRotation(45)); 
CGContextShowTextAtPoint(context,10, 10, "Menu", 4);
27
user503853

CGAffineTransformMakeRotation attend l'angle en radians, pas en degrés.

#define DEGREES_TO_RADIANS(x) (M_PI * (x) / 180.0)
...

CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(45));
114
Krishnabhadra
[view setTransform:CGAffineTransformMakeRotation(M_PI / 2)];
4
Sandeep Saurabh