CGAffineTransformTranslate奇怪的问题

时间:2011-10-26 12:00:14

标签: iphone cgaffinetransform

我遇到了一些奇怪的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 有人可以告诉我这有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您将翻译矩阵乘以现有的仿射,而不是相反。使用

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