函数CGAffineTransformMakeRotation和CGAffineTransformMake无法使用quartz-2d一起工作

时间:2011-04-21 03:06:20

标签: iphone quartz-2d

似乎函数CGAffineTransformMakeRotation和CGAffineTransformMake无法一起工作。

CGContextSetTextMatrix (context, CGAffineTransformMakeRotation  (degreesToRadians(40)));
CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));

我得到了这个

enter image description here

CGContextSetTextMatrix (context, CGAffineTransformMakeRotation  (degreesToRadians(40))); 
CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));

我得到了这个

enter image description here

我想要实现的是单词是可读的并且与X轴有40度。

谢谢!

1 个答案:

答案 0 :(得分:1)

CGContextSetTextMatrix设置文本矩阵,每次调用替换前一个矩阵,它不会组合它们。您需要组合矩阵,然后设置文本矩阵:

CGAffineTransform ctm = CGAffineTransformMake(1, 0, 0, 1, 0, 0);
ctm = CGAffineTransformTranslate(ctm, xTextPos, yTextPos);
ctm = CGAffineTransformScale(ctm, 1, -1);
ctm = CGAffineTransformRotate(ctm, -degreesToRadians(40));
CGContextSetTextMatrix(ctx, ctm);