Wie man Text Rotation Achse ändern
-
03-07-2019 - |
Frage
I CGContextShowText
bin mit Text angezeigt werden, aber wenn es mit CGAffineTransformation
dreht, wird die Drehachse auf der linken Seite befindet sich nicht in der Mitte des gezeichneten Text, der Code ich verwende, ist dies:
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);
Irgendwelche Ideen?
Lösung
übersetzen Ihr Objekt so, dass ihre Mitte (0, 0), dann ist es drehen, es dann übersetzen zurück, wo Sie wollen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow