2016-04-21 12 views
0

我使用Coregraphics和从-ve到+ ve轴的坐标跨度从JSON绘制形状。我可以使用翻译来正确绘制,但由于我的坐标非常大,绘图超出了视图的范围。有没有办法缩小和适合绘图视图边界?我尝试了一些缩放,但没有奏效。 (我不能使用图像上下文,因为当缩放时它会变得模糊,我想要获得一些矢量)。Coregraphics形状,以适应定义的视图

请找到示例项目

DrawShapes from JSON

在shapes.json我有一个像下面点和500点以下,.... 570绘制出界,我想,以适应整个绘图在绘图完成后在视图范围内。

     "X": -200.07484, 
         "Y": 50.60354 
         }, 
         { 
         "X": -500.07484, 
         "Y": 400.95078 
         }, 
         { 
         "X": 570.77671, 
         "Y": 400.95078 
         }, 
         { 
         "X": 570.77671, 
         "Y": 100.70688 

回答

0

好吧,经过大量的试验后,我终于能够解决这个问题。我从MMScalableVectorView得到了一个很好的实用工具,其中有一种根据整个图形大小和实际视图大小调整内容模式的方法。

更多细节:MMScalableVectorView Site

我不是在这里张贴的代码,因为它是他的代码。在代码中查找以下方法

- (void)applyCTMTransformsForContext:(CGContextRef)context frame:(CGRect)frame 

我已更新我的代码,现在可以根据图形大小进行调整。