我一直试图解决这个问题几个小时,没有找到任何东西。我确信解决方案很简单,但我再也看不到了。
我正在尝试显示具有完全不同的内部坐标系的路径。我正在使用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);
有什么想法吗?