iPhone - нарисуйте текст с помощью CGContext: хорошо, но ... зеркально - PullRequest
8 голосов
/ 31 августа 2011

Когда я рисую некоторый текст с помощью CGContext, он рисуется зеркально.

Я попытался применить некоторые преобразования, тогда он хорошо прорисовывается, но затем кажется, что остальная часть чертежа и все координаты прорисованы плохо.

Я пытался сохранить и восстановить контекст до и после рисования текста (и применения преобразования), но это не помогает.

Как какой-то текст должен быть нарисован в View с использованием CGContext, не затрагивая остальную часть чертежа или экранные координаты CGPoint для этого текста?

Ответы [ 2 ]

13 голосов
/ 31 августа 2011

Можете ли вы уточнить, что вы подразумеваете под «зеркальным отражением»?Вот код для рисования черного текста.Он не должен быть «зеркальным».

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);
8 голосов
/ 26 июля 2012

Я думаю, вам нужно изменить текстовую матрицу:

CGAffineTransform transform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, transform);
...