Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 韩漫免费网站无遮挡羞羞漫画,欧美激情小说网,国产又黄又爽又猛的免费视频播放

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          基本線條的繪制《HTML5系列教程17》

          本線條的繪制《HTML5系列教程17》

          HTML5中基本線條的繪制

          在Canvas畫布中我們可以使用JavaScript這支畫筆繪制各種圖形,它的功能之所以這么強大,是因為Canvas的CanvasRenderingContext2D對象為我們提供了豐富多彩的API工具,包括我們本次要了解的直線、二次曲線、貝賽爾曲線和圓弧曲線,下表中列出的這些API就是我們本次基本線條的繪制要用到的幾種API。

          HTML5中基本線條的繪制要用到的幾種API

          1.繪制直線

          我們在學生時代的幾何課上就已經學過了“兩點一線”,那么Canvas在繪制直線的時候也需要一個起點和一個終點,繪制直線的代碼如下圖所示:

          在HTML5中繪制直線代碼

          在谷歌瀏覽器中的預覽效果如下圖所示:

          在HTML5中繪制直線預覽效果

          2.繪制二次曲線

          二次曲線(quadratic curve)也稱圓錐曲線或圓錐截線,是直圓錐面的兩腔被一個面所截而得的曲線。二次曲線由一個起點、一個終點和一個控制點決定,當控制點經過圓錐頂點時,曲線變成一個點、直線或相交線,當控制點不經過圓錐頂點時,曲線可能是圓、橢圓、雙曲線和拋物線。使用Canvas的quadraticCurveTo函數繪制二次曲線的代碼如下圖所示:

          在HTML5中繪制二次曲線的代碼

          在谷歌瀏覽器中的預覽效果如下圖所示:

          在HTML5中繪制二次曲線的代碼

          3.繪制貝塞爾曲線

          貝塞爾曲線是電腦圖形中非常重要的參數曲線,廣泛應用于計算機圖形中為平鋪曲線建立模型。貝塞爾曲線的每一個頂點都有兩個控制點,用于控制在該點兩側的曲線的弧度。它有一個起點、一個終點、兩個控制點,共四個點決定一條曲線。使用Canvas的bezierCurveTo函數可以非常方便地繪制曲線,繪制貝塞爾曲線的代碼如下圖所示:

          在HTML5中繪制貝塞爾曲線代碼示例

          在谷歌瀏覽器中的預覽效果如下圖所示:

          在HTML5中繪制貝塞爾曲線預覽圖

          4.繪制圓弧

          使用Canvas的arc方法繪制圓弧的代碼如下圖所示:

          在HTML5中繪制圓弧的代碼

          在谷歌瀏覽器中的預覽效果如下圖所示:

          在HTML5中繪制圓弧的代碼

          這些便是幾種基本線條的繪制方法了,還是很有意思的,大家在練習的時候可以試著繪制一些形狀,試不出來也沒關系,下一篇中我們將會介紹一些簡單的形狀的繪制方法。謝謝大家的觀看。祝大家:身體健康、生活愉快。


          在之前的一篇文章《用HTML5的canvas來畫一個夢幻星空,來學習一下吧》中,我們使用HTML5的canvas畫出了一個夢幻星空的效果。今天這篇文章我們繼續使用canvas來畫出幾個簡單的小球運動效果,一起來看看吧。

          本文源碼已經開源到Github上,感興趣的可以自取,Github地址如下。

          https://github.com/zhouxiongking/article-pages/tree/master/articles/movaByCanvas

          HTML5

          小球直線運動

          首先我們來看看小球直線運動的效果圖,如下所示。

          運動效果圖

          然后我們來分析下,這個效果是如何實現的。

          1. 首先設置畫布寬高等信息,然后利用canvas畫出一個小球,設定初始狀態,包括顏色,半徑,初始位置等信息。

          2. 設定一個定時器,每次動態更新小球的位置,由于定時器時間比較短,肉眼觀察下,相當于小球運動的效果。

          通過上述的分析,我們得出以下的代碼。

          對于canvas頁面的HTML代碼永遠都只包含一個元素。

          HTML代碼

          接下來是主要的Javascript代碼,首先是畫布,小球初始信息的設置,并設置定時器函數。

          小球初始信息

          然后是執行的定時器函數,動態更新小球的位置,當小球運動出畫布范圍后,重新從起點位置開始運動。

          定時器函數

          就這兩段代碼,就可以實現出以上的小球勻速直線運動的效果。

          小球圓周運動

          首先,我們來看看小球勻速圓周運動的效果圖,如下所示。

          運動效果圖

          接下來我們同樣來分析下這個效果是如何實現的。

          1. 首先畫出兩個小圓,一個是藍色,一個是紅色,設定初始信息和上述例子一樣。

          2. 設定定時器,每次清除畫布后,重新渲染,并且更新小藍球的位置,由于是圓周運動,并不會出現上述例子中移出畫布的情況。

          通過上面的描述,我們得出以下代碼,HTML代碼一樣,這里不再給出。

          首先是原始小藍球的繪制,并設置定時器。

          小藍球的繪制

          然后是小紅球的繪制。

          小紅球的繪制

          最后是定時器函數的實現,在該函數中會讓小藍球旋轉一定的角度。

          定時器函數

          至此,小球的勻速圓周運動效果代碼就完全實現了。

          總結

          今天這篇文章主要是利用HTML5的canvas實現了一些簡單的小球運動效果,你學會了嗎?

          、項目簡介

          HTML5繪畫板

          二、實現功能

          • 支持撤銷操作、恢復撤銷

          • 支持清空畫板

          • 支持本地保存、下載圖片

          • 支持橡皮擦

          • 支持畫直線、畫圓、畫矩形

          • 支持前景填充

          • 支持拖拽上傳圖片

          • 支持鉛筆繪畫、設置畫筆粗細

          • 支持涂鴉、更換顏色

          三、技術選型

          • html

          • css

          • js

          四、界面展示

          五、源碼地址

          回復:繪圖


          主站蜘蛛池模板: 婷婷国产成人精品一区二| 中文字幕av日韩精品一区二区 | 国产一区二区三区在线看| 国产91久久精品一区二区| 国产精品免费大片一区二区| 激情无码亚洲一区二区三区| 无码精品人妻一区二区三区漫画| 国产91精品一区二区麻豆亚洲| 精品国产一区二区麻豆| 无码人妻精品一区二区蜜桃网站| 日韩AV无码一区二区三区不卡毛片| 精品在线视频一区| 天堂一区人妻无码| 四虎成人精品一区二区免费网站| 69久久精品无码一区二区| 色妞色视频一区二区三区四区| 国产视频一区二区在线播放| 国产一区二区三区在线影院| 熟女大屁股白浆一区二区| 国产精华液一区二区区别大吗| 国产情侣一区二区三区| 精品无码综合一区| 国内精品无码一区二区三区| 久久精品国产一区二区三区| 国产精品主播一区二区| 亚洲午夜日韩高清一区| 熟女少妇丰满一区二区| 久久精品视频一区| 91video国产一区| 伊人久久一区二区三区无码| 色窝窝免费一区二区三区 | 亚洲国产精品一区二区第一页| 国产综合无码一区二区三区| 国产suv精品一区二区33| 无码欧精品亚洲日韩一区| 国产乱码一区二区三区四| 性色av无码免费一区二区三区 | 人妻无码一区二区三区免费| 国产99视频精品一区| 精品国产日韩一区三区| 韩国福利一区二区三区高清视频 |