Como alterar o texto rotação do eixo
-
03-07-2019 - |
Pergunta
Eu estou usando CGContextShowText
ao texto do ecrã, mas quando girando-o usando CGAffineTransformation
, o eixo de rotação está localizado na esquerda, no centro do texto elaborado, o código que estou usando é o seguinte:
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);
Todas as idéias?
Solução
Traduzir o seu objeto de modo que seu centro está em (0, 0), em seguida, girá-lo, em seguida, traduzi-lo de volta para onde você quiser.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow