我使用左下角而不是左上角在 iPhone 上使用以下内容进行绘制:
CGContextTranslateCTM(context, 0.0, 200.0);
CGContextScaleCTM(context, 1.0, -1.0);
虽然这可以很好地更改我的原点以绘制图表,但标签出现倒置。
如何使用我的坐标系,同时获得正常的直文本来正确标记我正在绘制的图表?
我使用左下角而不是左上角在 iPhone 上使用以下内容进行绘制:
CGContextTranslateCTM(context, 0.0, 200.0);
CGContextScaleCTM(context, 1.0, -1.0);
虽然这可以很好地更改我的原点以绘制图表,但标签出现倒置。
如何使用我的坐标系,同时获得正常的直文本来正确标记我正在绘制的图表?
是的,我最近不得不解决同样的问题。诀窍是在编写标签之前短暂撤消“反转”:
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 是标签的位置
使用CGContextSaveGState
和CGContextRestoreGState
确保
CTM 缩放适用于您的图形而不是文本。