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?

War es hilfreich?

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
scroll top