我正在處理在應用程序中渲染圖形。處理數據(繪製點和點之間的線條)被覆蓋,我感興趣的是將這些數據映射到圖形的頂部。首先,讓我告訴你我想做什麼(見下文),解決方案是圖基有一個漸變。iOS圖形渲染
我認爲解決的辦法是取一個梯度的塊圖像,只是在代碼(以某種方式)削減邊緣。
是否有一個現有的算法(Objective-C)會這樣做?
感謝
我正在處理在應用程序中渲染圖形。處理數據(繪製點和點之間的線條)被覆蓋,我感興趣的是將這些數據映射到圖形的頂部。首先,讓我告訴你我想做什麼(見下文),解決方案是圖基有一個漸變。iOS圖形渲染
我認爲解決的辦法是取一個梯度的塊圖像,只是在代碼(以某種方式)削減邊緣。
是否有一個現有的算法(Objective-C)會這樣做?
感謝
我的解決辦法是將圖像映射到與使用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;
,而你可以合成圖像要通過與位圖數據工作的任何方式。另一個很簡單的方法就是創建一個UIView,添加你想要的所有圖像,然後從該uiview創建一個圖像。
如何創建一個圖像形成的UIView:
您可以參考:http://stackoverflow.com/questions/769749/is-there-a-good-charting-library-for-iphone – samfisher 2012-01-12 18:39:54