JVGL是一個遵循GNU的LesserGeneralPublicLicense(LGPL),提供高性能的JavaScript圖形函式功能的自由軟體,完全基於DHTML和JavaScript技術實現。
JVGL定義,JVGL庫的實現功能和特性,JVGL庫主要有以下特性,
JVGL定義
JVGL的算法以計算機圖形學(CG)的Bresenham快速算法為基礎,在CG中,基本的繪圖元素是像素,在HTML中並沒有提供類似於線、圓、橢圓或其他非矩形的圖形表現元素,JVGL通過DHTML對Web頁面元素的操作能力,利用並設定具有背景顏色的Div元素,並且把這些Div元素縮小到與像素相似的大小,每一個Div元素代表了一個像素,然後用Div元素在網頁上進行繪製,繪圖區域可以是整個頁面或者頁面中的一個具有絕對坐標的Div層,同CG中的螢幕相對應。
JVGL庫的實現功能和特性
JVGL庫以JavaScript 原始碼檔案的方式提供,封裝了三類函式:繪圖參數設定函式, 如setColor、setStroke等;繪圖函式,如drawPolyline、fillEllipse等; 輔助函式,如jsGraphics( ) 、paint( )等。這三類函式按面向對象的方式進行封裝,提供了繪製直線、折線、矩形、橢圓、多邊形、填充矩形、填充橢圓、填充多邊形等基本矢量圖形的功能,可以設定顏色、線型和線寬;提供了繪製格式化(大小、字型、樣式、顏色)文本的功能,繪製GIF、JPEG、PNG三種格式圖像的功能,支持圖像的縮放、GIF動畫、真彩色調色板。JVGL庫的坐標系統採用直角坐標系,以像素為單位,以繪圖畫布的左上角為坐標原點,水平方向向右為X軸,垂直方向向下為Y軸。
JVGL庫主要有以下特性
JVGL庫主要有以下特性:JVGL 基於DHTML和JavaScript 來實現,突破了傳統HTML不支持矢量圖形,必須用外掛程式對HTML進行功能擴展的限制,消耗系統資源小。適應性強,兼容性極佳,支持IE、Netscape、Opera、MozillaFirefox等所有主流的瀏覽器,而且可以運行在PDA等移動設備的瀏覽器上(只要該瀏覽器提供對DHTML和JavaScript 的支持)。由於進行了算法最佳化,JVGL的矢量繪圖性能達到了較高的水平。經過實測,在配置2. 4GHz P4CPU、512M記憶體的計算機上,用JVGL繪製部分典型的矢量圖形的耗時如表1所示。表1中出現了水平直線和矩形每次繪製的耗時都是0ms的現象,這是JVGL核心算法對特殊圖形進行像素最佳化的結果。#JVGL庫是開放原始碼的自由軟體,可以自由複製、傳播和進行功能擴展,語法簡潔,調用方便,易於和業務系統相結合搭建快速的Web套用平台。
