2

我使用左下角而不是左上角在 iPhone 上使用以下内容进行绘制:

CGContextTranslateCTM(context, 0.0, 200.0);
CGContextScaleCTM(context, 1.0, -1.0);

虽然这可以很好地更改我的原点以绘制图表,但标签出现倒置。

如何使用我的坐标系,同时获得正常的直文本来正确标记我正在绘制的图表?

4

2 回答 2

4

是的,我最近不得不解决同样的问题。诀窍是在编写标签之前短暂撤消“反转”:

    NSPoint p = NSMakePoint(x+5,5);
CGContextSaveGState(ctx);  
CGContextTranslateCTM(ctx, 0, b.origin.y+y+25); // Flip temporarily for text 
CGContextScaleCTM(ctx, 1.0, -1.0);  
[string drawAtPoint: p withAttributes:nil];    // Draw your strings
CGContextRestoreGState(ctx);                   // Flip back

注意 b.origin.y 值是可视区域的高度,x 和 y 是标签的位置

于 2009-08-03T14:01:46.040 回答
2

使用CGContextSaveGStateCGContextRestoreGState确保
CTM 缩放适用于您的图形而不是文本。

于 2009-07-28T19:04:48.087 回答