0
J'utilise CGContextShowText
pour afficher le texte, mais en le tournant avec CGAffineTransformation
, l'axe de rotation est situé à gauche, pas au centre du texte dessiné, le code que j'utilise est le suivant:Comment changer l'axe de rotation du texte
CGContextSaveGState(context);
CGContextSelectFont(context, "Helvetica", 20, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, 1);
CGContextSetRGBFillColor (context, 0, 0, 0, 1);
CGAffineTransform xform = CGAffineTransformMake(
sin(DegreesToRadians(angle)), cos(DegreesToRadians(angle)),
cos(DegreesToRadians(angle)), -sin(DegreesToRadians(angle)),
0, 0);
CGContextSetTextDrawingMode (context, kCGTextFill);
CGPoint degreeDisplayPoint = CGPointMake(100,100);
CGContextShowTextAtPoint(context, degreeDisplayPoint.x, degreeDisplayPoint.y, [angleStringWithDegree cStringUsingEncoding:NSMacOSRomanStringEncoding], [angleStringWithDegree length]);
CGContextRestoreGState(context);
Des idées? Traduisez votre objet de façon à ce que son centre soit à (0, 0), puis faites-le pivoter, puis redéfinissez-le à l'endroit voulu.