我已经配置了一个CGContextPDF,这样(0,0)坐标就位于左上角,而不是左下角:
context.TranslateCTM(0, height);
context.ScaleCTM(1, -1);但是,现在每当我调用ShowText时,文本就会颠倒显示。我记得我在使用iOS的MonoTouch时遇到过这个问题,修复方法是执行上面的操作,但是,不同的是,使用UIKit时,坐标系已经从左上角开始。
我以前也尝试过以类似的方式翻转TextMatrix比例,在选择字体之后(如果有关系),但似乎没有任何效果。
你有什么想法吗?
发布于 2013-06-09 19:05:18
最后算出了这一点--你所需要做的就是翻转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)上绘制,而不是在下绘制,则始终需要转换文本的高度。
https://stackoverflow.com/questions/16513161
复制相似问题