搜尋
首頁web前端H5教程使用canvas設計出一個簡易的畫板

使用canvas設計出一個簡易的畫板

Jun 19, 2017 am 11:12 AM
canvas畫板

前面講了一部分的canvasAPI的基礎知識,光看API的介紹確實是很無趣乏味,需要一點可以激發內心的激情的東西來激勵自己來學習,於是就了伴隨canvasAPI學習的小實例,這樣透過API的知識,結合小實例的應用,就可以更好的去理解canvas的這些屬性和方法,也可以激發自己創造canvas特效的靈感和感覺,恩恩,請叫我雷鋒,不謝!

下面帶給大家的這裡小實例很簡單,是個簡易的繪圖工具,先看看效果吧!

效果先描述哈:這裡有一個canvas畫布和幾個按鈕,canvas畫布是一個畫板,可以畫任何的圖形,按鈕可以設定畫板的畫筆顏色,也可以清除畫板,當然,你要是畫出一副曠世奇畫,請點擊右鍵將圖片另存為,你懂的!

那這個是怎麼做的呢?

我先說原理在貼程式碼,方便大家理解,我都這樣了,就不要直接拿來主義了哈!

原理其實很簡單,這裡用到的核心的方法是lineTo()和stroke(),看過前面的API文章的同學應該明白是什麼意思,就是劃線嘛

當在畫布中,如果按下滑鼠,我們將畫布的起始點放在此時滑鼠的位置,用到的是moveTo(),然後滑鼠移動的時候,用lineTo()畫路徑,用stroke()來填滿路徑,移一下畫一下,這樣就能畫出曲線來,當滑鼠抬起的時候,我們只需要取消滑鼠的動作即可,如果你看過我寫的滑鼠拖曳效果,是不是感覺很像啊,對的,思路跟拖曳是差不多的,只是具體的內容不一樣而已,如果你沒看過滑鼠的拖曳效果,可以看這裡滑鼠拖曳

#下面的按鈕因為各自控制的東西不一樣,我用了一個switch方法來給各自添加效果,設定顏色用到的canvas屬性是strokeStyle,清除畫布的方法在API裡面沒講到,可能是講漏了,這裡說一下吧,這裡是用的clearRect()方法,還是說一下吧:

clearRect(x,y,w,h)  在給定的矩形內清除指定的像素

參數:x,y 表示要清除的矩形的左上角的座標, w,h 表示要清除的矩形的寬高

看到這參數,我們可以了解到,它可以清除局部的畫布的內容,也可以清除整個畫布的內容,看你給多大的區域了,本實例是清除的整個畫布,因為我們需要整個畫布都清除掉,如果你只想清除你不想要的那塊,可以設定一個精確的區域,我就不在這裡囉嗦了!

大致的原理就這麼簡單,我把程式碼貼出來供大家參考理解,順便把效果地址貼出來體驗一下,廢話不多說了,看代碼:

css:


*{ padding:0; margin:0;}body{ background:#ccc;}canvas{ background:#fff; margin:50px 10px; }input{ display:inline-block; width:80px; height:30px; cursor:pointer; margin-left:10px;}


 

#html:


 <canvas>
        <span>亲,您的浏览器不支持canvas,换个浏览器试试吧!</span>
    </canvas>
    <p>
        <input>
        <input>
        <input>
        <input>
        <input>
    </p>


js:


window.onload = function(){        var canvas = document.getElementById("canvas");        var ctx = canvas.getContext("2d");        var oInput = document.getElementsByTagName("input");        for(var i=0;i<oinput.length><p><br></p>
<p> </p>
<p>哦,這裡的一個細節忘記交代了,就是必須在繪圖部分加上路徑閉合,即beginPath()和closePath(),為什麼?因為在每次滑鼠抬起之後,切換下面的樣式或清除畫布的時候,如果路徑不閉合的話,那麼後面的操作會污染前面所畫的東西,例如前面用紅畫的,現在我切換到綠色,現在畫的和原來畫的都變成綠了,比如清除畫布,畫過一次之後清除,然後再畫的時候第一次畫的東西又出來了,這都不是我們想要的,所以此點需謹記! </p>
<p> </p>
<p>效果示範請看這裡:</p>
<p><span style="color: #ff0000;"><span style="color: #ff0000;">canvas畫板小實例</span></span></p>
<p>以後慢慢會帶來更多的小實例供大家參考,寫的不是很好,萬望不要嫌棄,也希望大家多多的關注我,這才是我最大的動力了,哈哈! </p>
<p>大致就是這樣,謝謝大家! </p>
<p> </p></oinput.length>

以上是使用canvas設計出一個簡易的畫板的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
了解HTML音頻和視頻:屬性和可訪問性了解HTML音頻和視頻:屬性和可訪問性May 16, 2025 am 12:05 AM

html5audioandvideoelementsenhanceFunctionality and acctibility and actificatificatifutes.1)'Concontrols'AttributeaddsStandArdPlayBackControls,而'aria-aria-label'improvesscreenReaderAccesctibility.2)

掌握microdata:HTML5的分步指南掌握microdata:HTML5的分步指南May 14, 2025 am 12:07 AM

Microdatainhtml5enhancesseoanduserexperienceByByBybyBystructuredDatatoSearchEngines.1)useIteMscope,itemType,anditempropattributestomarkupcontentlikeSoreRoductSssSssSoRorevents.2)

HTML5表格中有什麼新功能?探索新輸入類型HTML5表格中有什麼新功能?探索新輸入類型May 13, 2025 pm 03:45 PM

html5introducesnewinputtypesthatenhanceSerexperience,簡化開發和iMproveAccessibility.1)自動validatesemailformat.2)優化優化,優化OmportizeSmizesemizesemizesemizesemizesemizeSmobobileWithAnumericKeyPad.3)和Simimplifydateandtimeputientupits,並重新替代了Forcustemolcustemolcustene。

理解H5:含義和意義理解H5:含義和意義May 11, 2025 am 12:19 AM

H5是HTML5,是HTML的第五個版本。 HTML5提升了網頁的表現力和交互性,引入了語義化標籤、多媒體支持、離線存儲和Canvas繪圖等新特性,推動了Web技術的發展。

H5:可訪問性和網絡標準合規性H5:可訪問性和網絡標準合規性May 10, 2025 am 12:21 AM

無障礙訪問和網絡標準遵循對網站至關重要。 1)無障礙訪問確保所有用戶都能平等訪問網站,2)網絡標準遵循提高網站的可訪問性和一致性,3)實現無障礙訪問需使用語義化HTML、鍵盤導航、顏色對比度和替代文本,4)遵循這些原則不僅是道德和法律要求,還能擴大用戶群體。

HTML中的H5標籤是什麼?HTML中的H5標籤是什麼?May 09, 2025 am 12:11 AM

HTML中的H5標籤是第五級標題,用於標記較小的標題或子標題。 1)H5標籤幫助細化內容層次,提升可讀性和SEO。 2)結合CSS可定製樣式,增強視覺效果。 3)合理使用H5標籤,避免濫用,確保內容結構邏輯性。

H5代碼:Web結構的初學者指南H5代碼:Web結構的初學者指南May 08, 2025 am 12:15 AM

HTML5構建網站的方法包括:1.使用語義化標籤定義網頁結構,如、、等;2.嵌入多媒體內容,使用和標籤;3.應用表單驗證和本地存儲等高級功能。通過這些步驟,你可以創建一個結構清晰、功能豐富的現代網頁。

H5代碼結構:組織內容以實現可讀性H5代碼結構:組織內容以實現可讀性May 07, 2025 am 12:06 AM

通過合理的H5代碼結構可以讓頁面在眾多內容中脫穎而出。 1)使用語義化標籤如、、等組織內容,使結構清晰。 2)通過CSS佈局如Flexbox或Grid控制頁面在不同設備上的呈現效果。 3)實現響應式設計,確保頁面在不同屏幕尺寸上自適應。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具