使用CGContext绘制文本时,文本会被镜像绘制。
我尝试应用一些变换,然后它就可以正常绘制,但是接下来的绘图和所有坐标似乎都会出现问题。
我尝试在绘制文本之前和之后保存和恢复上下文(并应用变换),但这并没有帮助。
如何在不影响其余绘图或屏幕上文本的CGPoint坐标的情况下,使用CGContext将某些文本绘制到视图上?
使用CGContext绘制文本时,文本会被镜像绘制。
我尝试应用一些变换,然后它就可以正常绘制,但是接下来的绘图和所有坐标似乎都会出现问题。
我尝试在绘制文本之前和之后保存和恢复上下文(并应用变换),但这并没有帮助。
如何在不影响其余绘图或屏幕上文本的CGPoint坐标的情况下,使用CGContext将某些文本绘制到视图上?
你能解释一下你所说的“镜像”是什么意思吗?这里有一些绘制黑色文本的代码,它不应该被“镜像”。
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);
NSString
有一个称为UIStringDrawing
的类别,其中包含许多文本绘制函数,比如drawInRect:withFont:
。它们会在当前上下文中进行绘制。 - AechoLiuCGAffineTransform transform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, transform);