Поп-переводы, используемые во время CGContext - PullRequest
0 голосов
/ 15 августа 2011

Как вы можете видеть из приведенного ниже кода, я делаю некоторые преобразования в своем UIView, прежде чем писать какой-то текст. Тем не менее, кажется, что на положение текста влияют вышеупомянутые преобразования.

Есть ли способ «вытолкнуть» эти смещения, чтобы я мог написать свой текст относительно исходной координаты 0,0?

//turn PDF upsidedown
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(100, aUIView.bounds.size.height+300);
transform = CGAffineTransformScale(transform, 0.5, -0.5);
CGContextConcatCTM(pdfContext, transform);


// Draw view into PDF
// Is renderInContext deprecated? Something to look into. 
[aUIView.layer renderInContext:pdfContext];


CGContextSelectFont (pdfContext, "Helvetica", 14, kCGEncodingMacRoman);
CGContextSetTextDrawingMode (pdfContext, kCGTextFill);
CGContextSetRGBFillColor (pdfContext, 0, 0, 0, 1);
CGContextSetTextMatrix(pdfContext, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));
const char *text = "THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG TEST 1";
CGContextShowTextAtPoint (pdfContext, 10.0, 10.0, text, strlen(text));

1 Ответ

2 голосов
/ 15 августа 2011

Я думаю, что CGContextSaveGState (cntx) и CGContextRestoreGState (cntx) - это то, что вы ищете.

...