999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HTML5網頁電子畫板的設計與實現

2011-06-16 11:01:00李伙欽
科技視界 2011年25期
關鍵詞:設置

李伙欽

(福建船政交通職業學院信息工程系 福建 福州 350007)

0 引言

隨著信息技術的迅猛發展,上網已成為很多人生活中必不可少的一部分,人們通過網站獲取資訊,下載影音,社交通信等,其得益于HTML的標準化,網頁可以無障礙的在各種平臺各種操作系統上運行。上一版本的HTML標準是2001的XHTML1.1標準,十幾年來一直沒有更新,漸漸跟不上用戶的需求了。最新的HTML5標準應運而生,為我們帶來了強大的用于交互、多媒體和本地化等方面的標簽以及應用編程接口。

HTML5一個非常實用的特性是用于繪畫的Canvas元素,Canvas擁有多種繪制路徑、矩形、圓形、字符以及圖像處理的方法,為網頁繪圖及圖像處理帶來了便捷。

本文介紹了HTML5的特性及Canvas元素的相關概念,然后介紹采用Canvas制作網頁電子畫板的設計思路,分析其設計步驟及注意事項。

本文的組織結構,第一章介紹HTML5概念,第二章介紹設計總體思路,第三章介紹詳細設計,最后總結。

1 第一章 相關技術

1.1 HTML5

HTML標準自1999年12月發布的 HTML 4.01后,后繼的HTML 5和其它標準被束之高閣,為了推動web標準化運動的發展,一些公司聯合起來,成立了一個叫做WHATWG(Web超文本應用技術工作組)的組織,HTML5草案的前身名為 Web Applications 1.0,于2004年被 WHATWG提出,于2007年被 W3C接納,并成立了新的 HTML工作團隊。HTML 5的第一份正式草案已于2008年1月22日公布。HTML 5有兩大特點:首先,強化了 Web網頁的表現性能。其次,追加了本地數據庫等Web應用的功能。

HTML5中的一些有趣的新特性:

1.1.1 用于繪畫的 canvas元素

1.1.2 用于媒介回放的 video和 audio元素

1.1.3 對本地離線存儲的更好的支持

1.1.4 新的特殊內容元素,比如 article、footer、header、nav、section

1.1.5 新的表單控件,比如calendar、date、time、email、url、search

1.2 Canvas

HTML5定義了元素作為位圖畫布在瀏覽器中的相關解決方案,它用于渲染圖形,游戲圖像或者其他飛行中的視覺圖形。一個Canvas代表了頁面中的一個矩形區域,在這個區域里面,你可以用Javascript來畫你想畫的任何東西。HTML5定義了一系列的方法用來畫圖形,定位路徑,創建漸變以及將圖形變形。

HTML5 Canvas的功能讓人自然聯想到Flash,同樣用來繪制圖像和動畫,Flash目前的產品成熟度和用戶接受度都是很高的,Flash無論是在矢量圖還是位圖的繪制上效率都略高于HTML5 Canvas。HTML5 Canvas的優勢主要在無須另外安裝插件即可播放,與網頁其他元素的容易融合協作。

2 第二章 設計總體思路

網頁電子畫板主要用于涂鴉、繪畫、對圖像網頁進行標注等,總體思路是網頁中設置一個div層,在該層中添加Canvas元素作為畫板,然后添加幾個繪畫工具按鈕(如畫筆、直線、圓、矩形、取色板、線條大小)。

按下畫筆按鈕是自由繪畫狀態,可以用鼠標自由繪畫;按下直線、圓、矩形按鈕繪制相應的圖像;按下取色板彈出一個浮動層,該浮動層中也包含一個Canvas元素,繪制出取色板的各種顏色,通過點擊取色板區域獲取顏色值;按下線條大小按鈕,彈出一個浮動層,該浮動層中包含一個下拉菜單,用于設置線條的粗細值。

為了實現對圖像網頁等進行批注,將畫板所在的層也設置成浮動層,然后在網頁中添加一個iframe元素和文本框,在文本框中輸入網址或者本地圖像地址,通過Javascript動態設置iframe的src屬性,實現圖像和網址的動態載入。畫板漂浮在iframe之上,這樣就可以對圖像或者網頁進行批注了。

對于圖像的保存,將每筆繪畫的參數都記錄下來,然后通過Ajax提交到服務器上。

3 第三章 詳細設計

3.1 創建畫布

3.2 自由繪畫

鼠標按下(mousedown事件)開始繪畫,線條跟隨鼠標坐標移動,鼠標彈起 (mouseup事件)結束繪畫。繪畫核心Javascript代碼如下:

3.3 繪制直線

與自由繪畫類似,區別在于自由繪畫是線條跟隨鼠標移動,而畫直線在鼠標按下時獲取起始點坐標,鼠標移動過程中不進行繪畫,等到鼠標彈起時獲取目標點坐標,然后才根據這兩個點繪制直線。代碼與自由繪畫的核心代碼一樣。

3.4 繪制圓

畫圓在鼠標按下時獲取圓點坐標,鼠標移動過程中不進行繪畫,等到鼠標彈起時獲取目標點坐標,然后計算半徑大小,最后根據圓點坐標和半徑大小繪制圓。繪畫核心Javascript代碼如下:

3.5 繪制矩形

畫矩形,也是采用類似直線的兩點方式,鼠標按下獲取矩形的左上角坐標,鼠標彈起獲取矩形的右下角坐標,長和寬根據兩點坐標相減獲得。

3.6 取色板

取色板是采用矩形填充方式生成的,從紅色漸變到綠色,再漸變到藍色。取色則是根據鼠標按下的坐標,換算成相應的RGB值,然后設置主畫布2D渲染對象的strokeStyle。以下是生成取色板的Javascript代碼:

3.7 設置線條大小

設置線條大小比較簡單,就是將下來框獲取到的值賦值給主畫布2D渲染對象的lineWidth屬性。Javascript代碼如下:

3.8 iframe 動態載入

通過設置iframe的src值,實現iframe內容的動態載入。Javascript代碼如下:

4 總結

本文介紹了HTML5的特性,提出使用Canvas進行網頁電子畫板設計的設計思路及具體實現,實踐證明繪制圖形效果良好。HTML5作為下一代HTML標準,將來將為我們帶來更多的驚喜。

猜你喜歡
設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結構及設置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫學專業與專科設置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 无遮挡一级毛片呦女视频| 视频一区视频二区日韩专区| 亚洲日本中文字幕天堂网| 黄色一及毛片| 真实国产精品vr专区| 国产成人喷潮在线观看| 五月六月伊人狠狠丁香网| 精品一區二區久久久久久久網站| 亚洲第一天堂无码专区| 视频在线观看一区二区| 国产三级韩国三级理| 亚洲欧美人成人让影院| 欧美日韩国产在线人| 天天视频在线91频| 国内毛片视频| 日本亚洲最大的色成网站www| 国产色爱av资源综合区| 97超级碰碰碰碰精品| 亚洲中久无码永久在线观看软件 | 在线播放精品一区二区啪视频| 99在线国产| 欧美乱妇高清无乱码免费| 91视频99| 人人看人人鲁狠狠高清| 777午夜精品电影免费看| 2020精品极品国产色在线观看| 久久久久亚洲精品成人网| 国产一区三区二区中文在线| 亚洲日本一本dvd高清| 久久久久青草线综合超碰| 国产96在线 | 亚洲综合二区| 亚洲欧美日韩中文字幕一区二区三区| 国外欧美一区另类中文字幕| 野花国产精品入口| 91视频区| 欧美精品黑人粗大| 欧美国产在线精品17p| 欧美第九页| 中文字幕无码av专区久久 | 欧美成人日韩| 国产欧美精品一区二区| 日韩第九页| 国产人人射| 91av国产在线| 欧美性精品| 亚洲日韩精品无码专区97| a毛片在线| 999在线免费视频| 国产欧美精品午夜在线播放| 亚洲国产精品一区二区高清无码久久 | 97精品国产高清久久久久蜜芽| 国产素人在线| 久久精品中文字幕免费| 日韩在线欧美在线| 日韩一区精品视频一区二区| 国产在线高清一级毛片| 国产99久久亚洲综合精品西瓜tv| 国产肉感大码AV无码| 免费毛片全部不收费的| 日韩午夜片| 毛片在线播放网址| 久久网欧美| 日韩av在线直播| 国产乱子伦精品视频| 人妻21p大胆| 国产91精品调教在线播放| 欧美日韩高清在线| 欧美激情福利| 国产亚洲精品91| 97人人模人人爽人人喊小说| 国产精品美女网站| 成年午夜精品久久精品| 亚洲AV无码乱码在线观看裸奔| 欧美性爱精品一区二区三区| 欧美日韩在线成人| 日韩黄色精品| 国产一在线观看| 波多野结衣中文字幕久久| 国产在线观看99| 午夜一级做a爰片久久毛片| 国产精品久久精品|