【问题标题】:iOS Graph RenderingiOS 图形渲染
【发布时间】:2012-01-12 18:36:03
【问题描述】:

我正在努力在应用程序中呈现图表。涵盖了处理数据(绘制点和点之间的线),我感兴趣的是将此数据映射到图形上。

首先,让我告诉你我想要做什么(见下文),解决方案是图基有渐变。

我认为解决方案是只拍摄渐变的块图像,然后在代码中切割边缘(以某种方式)。

是否有现有的算法(Objective-C)可以做到这一点?

谢谢

【问题讨论】:

标签: objective-c ios graph drawing


【解决方案1】:

虽然您可以通过使用位图数据以任何方式合成图像。另一种简单的方法是创建一个 UIView,添加你想要的所有图像,然后从该 uiview 创建一个图像。

如何从 UIView 创建图像:

How to create an image from a UIView / UIScrollView

【讨论】:

    【解决方案2】:

    我的解决方案是使用 bezierPath 将图像映射到路径。请看下面的示例代码

    UIBezierPath* beizerPath2 = [UIBezierPath bezierPath];
    [beizerPath2 moveToPoint:CGPointMake(0.0, 167)];       //Starting Point
    [beizerPath2 addLineToPoint:CGPointMake(100, 40)];  
    [beizerPath2 addLineToPoint:CGPointMake(200, 70)];    
    [beizerPath2 addLineToPoint:CGPointMake(300, 30)];    
    [beizerPath2 addLineToPoint:CGPointMake(320, 30)];    
    [beizerPath2 addLineToPoint:CGPointMake(320, 167)];     //Finishing Point
    [beizerPath2 closePath];                                //Close Path
    
    
    NSLog(@"Masking Feedstock with Bezier");
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.path = [beizerPath2 CGPath];
    graphFeedStock.layer.mask = maskLayer;     
    

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2013-10-14
      • 2018-08-10
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      相关资源
      最近更新 更多