質問

CGContextShowText を使用してテキストを表示していますが、 CGAffineTransformation を使用して回転する場合、回転軸は描画されたテキストの中心ではなく左側にあります。私が使用しているコードはこれです:

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);

アイデアはありますか

役に立ちましたか?

解決

オブジェクトの中心が(0、0)になるようにオブジェクトを移動し、回転させてから目的の場所に移動します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top