iOS中的转换

时间:2012-07-13 22:34:05

标签: ios graphics core-graphics cgaffinetransform cgpath

我一直试图解决这个问题几个小时,没有找到任何东西。我确信解决方案很简单,但我再也看不到了。

我正在尝试显示具有完全不同的内部坐标系的路径。我正在使用CGAffineTransformation将其转换为屏幕坐标系。很简单。但是1.工作和2.没有显示任何东西,我真的想避免使用1.出于性能原因。

如果您想知道,在绘制调用之前和之后(此处未显示),变换矩阵为Identity。另外,我在两种情况下都运行了CGContextGetPathBoundingBox,并且在2中,似乎没有发生仿射变换。

1。手动转换路径

// Get the transform
CGAffineTransform transform = box.transform;

// Add a transformed copy of the path
CGContextAddPath(offscreenContext, CGPathCreateCopyByTransformingPath(way.path, &transform));
CGContextDrawPath(offscreenContext, kCGPathFillStroke);

2。试图让iOS发挥其魔力

// Set the current transformation
CGAffineTransform transform = box.transform;
CGContextConcatCTM(offscreenContext, transform);

// Draw the path without transforming, iOS *should* do that for us
CGContextAddPath(offscreenContext, way.path);
CGContextDrawPath(offscreenContext, kCGPathFillStroke);

有什么想法吗?

0 个答案:

没有答案