我遇到了一些奇怪的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 :(得分:0)
您将翻译矩阵乘以现有的仿射,而不是相反。使用
_textMatrix = CGAffineTransformConcat(_textMatrix, CGAffineTransformMakeTranslation(size.width, size.height));