iPhone - 使用CGContext绘制一些文本:ok但是......镜像

Oli*_*ver 8 iphone cocoa-touch text transformation core-graphics

当我使用CGContext绘制一些文本时,它被镜像绘制.

我尝试应用一些变换,然后绘制得很好,但是其余的绘图和所有坐标似乎都画得很糟糕.

我尝试保存和恢复上下文,然后绘制文本(和aplying转换),但这没有帮助.

如何使用CGContext将一些文本绘制到视图上而不影响绘图的其余部分,以及该文本的屏幕CGPoint坐标?

sam*_*u_1 13

你能澄清一下你所说的'镜像'吗?这是一些用于绘制一些黑色文本的代码.它不应该被"镜像".

CGRect viewBounds = self.bounds;
CGContextTranslateCTM(ctx, 0, viewBounds.size.height);
CGContextScaleCTM(ctx, 1, -1);
CGContextSetRGBFillColor(ctx, 0.0, 1.0, 0.0, 1.0);
CGContextSetLineWidth(ctx, 2.0);
CGContextSelectFont(ctx, "Helvetica", 10.0, kCGEncodingMacRoman);
CGContextSetCharacterSpacing(ctx, 1.7);
CGContextSetTextDrawingMode(ctx, kCGTextFill);
CGContextShowTextAtPoint(ctx, 100.0, 100.0, "SOME TEXT", 9);
Run Code Online (Sandbox Code Playgroud)

  • 自iOS 7.0以来,CGContextShowTextAtPoint @deprecated (6认同)

小智 8

我认为你必须扭转文本矩阵:

CGAffineTransform transform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, transform);
Run Code Online (Sandbox Code Playgroud)