1

我一直试图解决这个问题几个小时,但没有找到任何东西。我确定解决方案很简单,但是我似乎看不到它。

我正在尝试显示具有完全不同的内部坐标系的路径。我正在使用 aCGAffineTransformation将其转换为屏幕坐标系。很简单。但是 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);

任何想法?

4

0 回答 0