首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CoreGraphics的坐标更改为左上角会导致ShowText呈现颠倒

将CoreGraphics的坐标更改为左上角会导致ShowText呈现颠倒
EN

Stack Overflow用户
提问于 2013-05-13 07:47:17
回答 1查看 207关注 0票数 0

我已经配置了一个CGContextPDF,这样(0,0)坐标就位于左上角,而不是左下角:

代码语言:javascript
复制
context.TranslateCTM(0, height);
context.ScaleCTM(1, -1);

但是,现在每当我调用ShowText时,文本就会颠倒显示。我记得我在使用iOS的MonoTouch时遇到过这个问题,修复方法是执行上面的操作,但是,不同的是,使用UIKit时,坐标系已经从左上角开始。

我以前也尝试过以类似的方式翻转TextMatrix比例,在选择字体之后(如果有关系),但似乎没有任何效果。

你有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-09 19:05:18

最后算出了这一点--你所需要做的就是翻转TextMatrix,无论你是在翻转整个上下文的坐标系之前还是之后这样做都没有关系。它以前不能工作的原因是因为我将它应用于现有的转换,而不是分配一个新的,即这是有效的

代码语言:javascript
复制
context.TextMatrix = CGAffineTransform.MakeScale(1.0f, -1.0f);
context.TranslateCTM(0, height);
context.ScaleCTM(1.0f, -1.0f);

但这不是

代码语言:javascript
复制
context.TextMatrix.Scale(1.0f, -1.0f);
context.TranslateCTM(0, height);
context.ScaleCTM(1.0f, -1.0f);

另一个缺点是文本总是向上呈现,而不是向下呈现,所以如果希望在 (x,y)上绘制,而不是在下绘制,则始终需要转换文本的高度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16513161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档