目标C - CGContext - "modulo"绘图?



假设我想在给定的矩形(例如100 x 100像素)中绘制一个自定义视图。自定义视图的内容可能大于100 x 100。而不是有一些内容没有绘制,我想绘制所有内容在100 × 100的区域内。例如,通常位于(125,140)的点现在被绘制在(25,40)处。

有没有办法做到这一点,而不必(主要)修改绘图代码?请记住,我也画更复杂的形状,如贝塞尔路径。

也许你可以通过CGContextScaleCTM(…)来缩放你的绘图空间。

e.x .

CGFloat sx, sy;
sx = self.frame.size.width / desiredWidth;
sy = self.frame.size.height / desiredHeight;
CGContextScaleCTM(context, sx, sy);
编辑:

正如Codo下面建议的那样,您可能正在寻找CGContextTranslateCTM(…),它将通过一些x/y值抵消您的上下文的坐标空间。

最新更新