我已配置CGContextPDF
,因此(0,0)坐标位于左上角,而不是左下角,使用以下内容:
context.TranslateCTM(0, height);
context.ScaleCTM(1, -1);
但是,现在每当我致电ShowText
时,文字都会被颠倒。我记得使用MonoTouch for iOS遇到了这个问题,修复是为了做到这一点,但是,UIKit的区别在于左上角已经开始的坐标系。
我曾尝试以类似的方式翻转TextMatrix
音阶。选择字体后(重要的是)但它似乎没有任何效果。
有什么想法吗?
答案 0 :(得分:1)
最后想出了这一个 - 结果你需要做的就是 翻转TextMatrix
如果你之前做过或者无关紧要在为整个上下文翻转坐标系之后。它以前不起作用的原因是因为我将它应用于现有的转换,而不是分配一个新的转换,即这是有效的
context.TextMatrix = CGAffineTransform.MakeScale(1.0f, -1.0f);
context.TranslateCTM(0, height);
context.ScaleCTM(1.0f, -1.0f);
但这不是
context.TextMatrix.Scale(1.0f, -1.0f);
context.TranslateCTM(0, height);
context.ScaleCTM(1.0f, -1.0f);
另一个缺点是文本总是向上呈现而不是向下呈现,所以如果想要在(x,y)上绘制而不是下的强>