2013-05-12 35 views
0

我已經配置一個CGContextPDF所以(0,0)座標是在左上角和使用左下面不是底部:CoreGraphics的改變的座標,以左上角導致ShowText到顛倒呈現

context.TranslateCTM(0, height); 
context.ScaleCTM(1, -1); 

但是,現在每當我打電話給ShowText時,文字都會顛倒。我記得使用iOS的MonoTouch解決了這個問題,修復方法是做到上述,但是,區別在於UIKit座標系已經在左上角開始了。

我試過在選擇字體之後以&之前的類似方式翻轉TextMatrix比例,但它似乎沒有任何效果。

任何想法的?

回答

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)上繪製而不是下,則總是需要翻譯文本的高度。