程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 深入淺出CChart 每日一課——第二十課 窺豹一斑,階段性總結之畢業典禮

深入淺出CChart 每日一課——第二十課 窺豹一斑,階段性總結之畢業典禮

編輯:關於C語言

經過這段時間廢寢忘食的工作,笨笨的CChart系列教程終於將暫時告一段落。

要到分別的時刻了,雖然傷感,但也要先樂呵樂呵。

20.1周傑倫遇神燈

話說有一天周傑倫在沙漠中迷路了,這時他撿到一個神燈。他摸摸神燈,從裡面出來一個神仙。神仙說:“我能滿足你三個願望。”

周傑倫一看,高興地脫口而出:“哇塞!屌爆了!”只聽見“啪”的一聲,他痛苦地蹲在地上呻吟。

神仙說:“第二個願望呢?”。周傑倫艱難地說:“把我弟弟治好。”果然,他不疼了,站起來一看,完好無損。遂驚呼:“哇塞!屌爆了!”

話音未落,又聽見“啪”的一聲從周傑倫身上傳來,神仙已經化作一股青煙飄走了,只剩下周傑倫獨自躺在沙漠裡。

進入習大大紀元二年,不僅周董遇到了神燈,連小米的雷布斯和谷歌的HugoBarra都遇到了神燈耶。

同學們,聽了前面的課程,你是不是和周董有相同的感覺呢?CChart的確碉堡了吧?

20.2CChart類庫的結構

這裡笨笨可以明確告訴同學們的是,此次系列教程所介紹的功能只是CChart類庫功能的一小部分。

CChart類庫分為核心類、擴展類、三維類、包裝類和擴充類五大部分。

核心類主要指折線圖繪制的類及其相關支撐類,這是最基本的部分。雖然很基本,但笨笨在核心類中設置了無數的選項,這使得CChart非常靈活,非常好用。CChart內部選項之豐富從右鍵菜單可以感受到,實際上右鍵菜單也僅僅使用了CChart的一小部分內部選項。

另外略舉幾例吧,如對數類型的坐標軸、顯示時間的坐標軸年月日時分秒)、數據點的標記、誤差棒等等等等。本課後面部分也展示了一部分選項。

擴展類是在核心類的基礎上,實現的各種特殊繪圖功能。笨笨前面介紹的餅圖、柱圖、等高線圖、雲圖、分裂視圖、分層視圖、共享X軸視圖等,都屬於擴展類的功能。擴展類的種類實際上遠不止這幾種,目前一共差不多有三十種。

三維類利用OpenGL技術繪制三維曲線曲面,與核心類有一定關系。前面已經介紹了三維曲線的繪制功能。

由於核心類、擴展類和三維類都基於模板,編程相對復雜,為了簡化編程,新版CChart新增了包裝類,包裝類已經完全隱藏了模板類的細節。

最新版CChart還增加了擴充類,用於儀表類模擬界面的編制。擴充類在功能和實現上都與前面的類無關,是獨立的。

幾種類的關系如下圖所示。

SouthEast

20.3動態鏈接版的功能

動態鏈接版實際上就是前述包裝類,其功能當然就只是CChart的一小部分了。

本課程基本上把動態鏈接版的功能全面介紹了。同學們也可以發現,其實功能已經相當豐富了。笨笨覺得,只要沒有特殊的要求,已經夠用了。

存在的問題有兩個方面,一方面是擴充類以及很多擴展類沒有包裝進來,另一方面是類庫內部豐富的選項無法設置。

同學們就要問了,為什麼笨笨不把全部功能包裝起來呢。

這個問題,笨笨可以告訴大家,笨笨設置包裝類的目的本來是為了簡化編程,但後來發現,其實包裝也是一門技術活。CChart各種繪圖類型之間存在差異,有的差異很明顯,有的差異則很細微。要把這些功能包裝起來,且能正常工作,也很不容易。包裝類本來沒有實現什麼新功能,目前其代碼已經達到幾千行。要把所有功能包裝進去,工作量大得不得了。所以目前笨笨並沒有大規模擴充包裝類的計劃。

20.4授權問題

這個問題很簡單,只要不是商業應用,隨便。

20.5源碼問題

有些同學非常關注源碼問題。CSDN網站的下載頻道有CChart的開源版本。

http://download.csdn.net/detail/baita96/4597703

20.6新功能演示

下面向同學們展示一些前面沒有出現的功能。

073903296.png

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

SouthEast

20.7笨笨的聯系方式

郵件:[email protected]

QQ、微信:1541583

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved