我使用左下角而不是左上角使用以下内容在iPhone上绘图:
CGContextTranslateCTM(context, 0.0, 200.0);
CGContextScaleCTM(context, 1.0, -1.0);
虽然这适用于更改我的原点以绘制图表但标签显示为颠倒。
如何使用我的坐标系,还能获得正常的直文,以正确标记我正在绘制的图表?
答案 0 :(得分: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是标签的位置
答案 1 :(得分:2)
使用CGContextSaveGState
和CGContextRestoreGState
确保确定
CTM缩放适用于您的图形,而不适用于您的文本。