2011-10-26 7 views
0

I得たいくつかの奇妙なCGAffineTransformTranslate問題、コードはこのCGAffineTransformTranslate奇妙な問題

- (void)translateTextPosition:(CGSize)size { 
NSLog(@"before tx = %f, %f",_textMatrix.tx,size.width); 
_textMatrix = CGAffineTransformTranslate(_textMatrix, size.width, size.height); 
NSLog(@"tx = %f",_textMatrix.tx); 
} 

のようなものですが、出力が

2011-10-26 18:57:03.351 PDF[62708:b903] Tm tx:48.437599 ty:752.559387 
2011-10-26 18:57:03.353 PDF[62708:b903] before tx = 48.437599, 0.345000 
2011-10-26 18:57:03.353 PDF[62708:b903] tx = 53.549774 

私が欲しい正しい結果ではないことを示していることを?私が期待していたのはtx = 48.782599 誰かが私にこのことが間違っていることを教えてもらえますか?

+0

あなたに行列の数学を説明する人がいますか?それは、数学のスタック交換サイトではより良いかもしれません。私は、適切な価値があるはずの手がかりを持っていないだろうが、それは動作するので、数学はOKだと思う。 – jrturton

答えて

0

変換行列に既存のアフィンを乗算していますが、逆の変換はしません。使用

_textMatrix = CGAffineTransformConcat(_textMatrix, CGAffineTransformMakeTranslation(size.width, size.height));