CGAffineTransformTranslate Странная проблема - PullRequest
0 голосов
/ 26 октября 2011

У меня странная проблема с 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 голосов
/ 27 октября 2011

Вы умножаете матрицу перевода на ваш существующий аффин, а не наоборот. Используйте

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