HTML5 canvas繪圖基本使用方法

2020-12-14 億仁網

圖形屬性:fillStyle:填充顏色。font:繪製文本的時候css字體globalAlpha:繪製像素時添加的透明度gloablCompositeOperation:合併新的像素點和下面的像素點lineCap:渲染線段的末端lineJoin:渲染頂點lineWidth:邊框的寬度miterLimit:斜接頂點的最大長度textAlign:文本水平對齊方式textBaseline:文本垂直對齊方式shadowBlur:陰影清晰度或模糊程度shadowColor:下拉陰影的顏色shadowOffsetX:陰影的水平偏移量shadowOffsetY:陰影垂直偏移量strokeStyle:邊框線顏色圖形方法:fillRect(): x坐標 y坐標 寬度 高度 (繪製矩形)arc(): x坐標 y坐標 r半徑 起始角 結束角 設置順時針(false)還是逆時針(true)(圓形)fill():填充路徑fillRect(): x y 寬度 高度beginPath():新路徑moveTo():新的子路徑 有x,y軸clineTo():該點與新點通過直線連接 有x,y軸stroke():繪製邊框線arcTo():繪製一條直線與一段圓弧 弧的起始坐標x 弧的起點坐標y 弧的結束坐標x 弧的結束坐標y 弧的半徑rbezierCurveTo():當前子路徑添加一個新點,利用三次貝塞爾曲線相連。quadrticCurveTo():與上面類似,只不過它使用二次貝塞爾曲線。closePath():邊框線閉合clearRect():與fillRect()類似 不過它會忽略當前填充樣式,採用透明的黑色像素rect():用於繪製矩形,會對當前路徑產生影響,它會將指定的矩形添加到當前路徑的子路徑中。createPattern():第一參數指定了用做圖案的圖片,必須是文檔中的一個img、canvas或video元素。第二參數通常是repeat,表示採用重複的圖片填充。還可以使用repeat-x、repeat-y、no-repeat。createRadialGradient():用來創建放射狀、圓形漸變對象。參數為:漸變開始圓的x坐標、y坐標、半徑、結束x坐標、結束y坐標、結束半徑rcreateLinearGradient():用來創建線性漸變。參數為:漸變開始的x坐標,y坐標,結束x左邊,結束y坐標addColorStop():定義漸變的顏色。參數:介於 0.0 與 1.0 之間的值,表示漸變中開始與結束之間的位置。二參數是css顏色fillText():用於給畫布添加文本。參數:text、文本x坐標、y、允許文本最大寬度strokeText():也是添加文本,不過無填充。參數:同上。clip():定義一個裁剪區域,定義了之後,該區域不會繪製任何內容。save():此方法將當前狀態推送到堆棧上。restore():此方法彈出堆棧上的頂級狀態,將上下文恢復到該狀態。setTransform():直接設置畫布的變換矩陣。參數:水平旋轉、水平傾斜、垂直傾斜、垂直縮放、水平移動,垂直移動。translate():將坐標原點進行上下左右移動。參數:添加到水平坐標x上的值,添加到垂直坐標y上的值scale():實現對x、y軸上的距離進行延長和縮短。參數:縮放當前繪圖的寬度(1=100%,0.5=50%…)、也是縮放的高度drawImage():用於將源圖片的像素內容複製到畫布上,還可以對圖片進行縮放旋轉。參數:規定的(圖片,畫布,視頻)、開始剪切的x坐標、y坐標、被剪切的寬度、高度、在畫布上放置圖形的x坐標、y坐標、要使用圖像的寬度、高度。toDataURL():方法將畫布中內容抽取成一張圖片,PNG圖片形式返回。同時編碼成一個字符串數據,可以在img上使用。getImageData():複製畫布上執行矩形的像素數據。參數:開始複製的x坐標,y坐標、複製矩形區域的寬度、高度。putImageData():拿到複製的像素,且將數據放回畫布。參數:要回放的數據、畫布的x坐標,y坐標、水平值x,水平值y、在畫布上繪製圖像所使用的寬度、高度。// 檢測isPointInPath():指定的點是否在當前路徑中,返回true表示在當前路徑,反之false。

使用:注意繪製的順序,否則不會生效。畫布的默認坐標系統是以畫布最左上角為原點。

繪製線段、填充多變形

封裝一個API來繪製圖形

相關焦點

  • 15 個 HTML5 Canvas 應用欣賞
    HTML5呈現了很多的新特性,這在之前的HTML中是不可見到的。
  • 使用HTML5和Javascript設計繪圖程序
    開始使用Canvas畫布  首先,要聲明一個canvas畫布,使用如下代碼聲明:  目前,對canvas支持的最好的瀏覽器依然是FireFox,Chrome等非IE的瀏覽器,在本文的這個例子中,也兼顧了對IE瀏覽器的支持,使用的是一個開源的JS文件,其中提供了一些對canvas的基本支持腳本(在附件下載中包含了該腳本,名稱為excanvas.js
  • 熱推18個基於HTML5 Canvas開發的圖表庫
    HTML 5 Canvas 提供了通過 JavaScript 繪製圖形的方法,非常強大。今天,本文收集了一些非常好的基於 HTML 5 Canvas 的圖表方案推薦給大家。  1. Visualize Canvas Cheat Sheet  PDF 和 PNG 格式的 HTML5 Canvas 速查手冊。  2. How to draw with HTML5 Canvas  如果使用 HTML5 Canvas 元素進行繪圖。
  • 用HTML5把Canvas緩衝區內容輸出到屏幕
    我會儘量簡要說明如何使用HTML5 canvas元素和JavaScript創建簡單的遊戲。本教程將省略一些代碼,但絕非故意。您可以隨時查看我的遊戲演示。  HTML5有許多的神奇功能,諸如:  畫布元素  視頻和音頻的支持  本地存儲  離線Web應用程式  地理定位  …  這篇文章不打算覆蓋所有的HTML5規範,有關HTML5的更多信息,請參考HTML5:http://diveintohtml5.org/.
  • 利用html5 canvas實現純前端上傳圖片的裁剪
    當然,網上也有一些用js寫的諸如此類裁剪的插件,但是有許多都是前端將圖片的一些裁剪參數(如坐標)傳給後臺,有java程式設計師進行真正的圖片裁剪.今天自己研究了一些,做了一個純前端裁剪的demo,如下:1.html部分:<div>
  • html中繪製圖形標籤的詳細介紹
    本篇將介紹的是html中<canvas>標籤的用法,感興趣的朋友可以一起研究一下!在html5中,新增了很多實用的標籤,今天為大家介紹的是html5新增標籤<canvas>,<canvas>標籤只是一個容器,對內容並沒有樣式的更改。那它在html中有什麼用,接下來我們就一起來看看吧!
  • html2canvas 將代碼轉為圖片
    轉換代碼到圖片使用 html2canvas,這是一個非常著名的從瀏覽器網頁截圖的開源庫,使用很方便,功能也很強大。使用 html2canvashtml2canvas 的使用非常簡單,簡單到只需要傳入一個 DOM 元素,然後通過回調拿到 canvas:html2canvas(element, {    onrendered: function(canvas) {        // canvas is the
  • 7款超華麗的HTML5 Canvas文字動畫特效
    文字是網頁中最為常見的元素之一,當然我們使用最多的就是調整文字的顏色、大小等基本屬性。有時候我們在一些活動頁面上需要展示特別樣式的文字效果,這時候我們就可以利用HTML5或者CSS3結合的方式來渲染文字的動畫特效。
  • html2canvas - 動態生成海報的優質js庫
    今天分享的html2canvas就可以。介紹在微信項目中經常會遇到動態生成海報的需求,Web前端合成圖片往往會使用canvas。canvas雖然強大,但用來合成海報非常繁瑣,一不小心就幾百行代碼了。而html2canvas.js是一款輕鬆地將HTML+CSS寫成的布局直接轉換成canvas,生成可保存分享的圖片。
  • Python使用tkinter製作一個簡易的繪圖程序一(Python GUI編程)
    Python有很多GUI庫,tkinter作為一款入門級的圖形庫,基本具備了圖形界面的大部分元素,如果結合ttk、Pmw庫使用的話,其功能就得到了擴展,使用這些庫基本能構建簡單的圖形界面應用。但是,tkinter唯一美中不足的是它的性能問題,它不具備如QT等一些第三方庫的性能,在同一應用程式中設計了關於獲取系統性能的一些功能,tkinter就顯得非常慢(參加Python高手養成關於系統性能查看器製作的內容),雖然其性能可以通過不同的方法得到提升,但這是後話,我們後續章節進行討論。今天結合一個實例,帶大家一起見識一下tkinter的基本使用方法。
  • 八大瘋狂的 HTML5 Canvas 及 WebGL 動畫效果
    在過去的幾年中,我們想要製作卓越的網頁動畫只能使用Flash和Java Applet。而現在,使用腳本語言和渲染器在瀏覽器中實現瘋狂的動畫效果已經成為可能。究其原因,大概有以下幾點: 處理器的性能越來越高。我們的電腦已經有足夠的強大的能力去渲染最為複雜的動畫效果。 現在瀏覽器和web技術的不斷發展。
  • html5 canvas畫布繪製矩形和圓形
    html5為我們提供了非常有特色的標籤,canvas標籤為我們可以實現在網頁中畫畫提供了便利,接下來我們列舉他的常用操作。新建一個html5的文檔,建立一個canvas畫布,設置長寬,這裡需要特別注意,canvas標籤可以在標籤內設置width,height,也能通過css來設置,但是通過css來設置的標籤,當繪製圖形的時候會變形,所以我們建議直接在標籤內設置。
  • 用一天入門 canvas 和 JavaScript
    DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>HTML5 Canvas</title> <link rel="stylesheeet" href="style.css" /></head><body>
  • html基礎代碼大全
    一、canvas 簡介<canvas> 是 HTML5 新增的,一個可以使用腳本(通常為 JavaScript) 在其中繪製圖像的 HTML 元素。它可以用來製作照片集或者製作簡單(也不是那麼簡單)的動畫,甚至可以進行實時視頻處理和渲染。
  • HTML4 和 HTML5 的10個關鍵區別
    HTML5 標準還在制定中 首先要注意的是,HTML5雖然現在很火,但是HTML5標準還在制定中,標準仍在改變。HTML4已經10多年了,不會有任何改變了。 2. 簡化的語法 HTML5簡化了很多細微的語法,例如doctype的聲明,你只需要寫<!doctype html>就行了。
  • 基於HTML5 Canvas 的交互式地鐵線路圖
    感覺總是有各種容易看串的信息,利用 html5 canvas 完成的這個交互式地鐵線路圖 Demo,如果地鐵上的展示信息稍微有點交互會怎麼樣?不用忙著上車下車,輕輕一點,就能省去很多時間。效果圖http://www.hightopo.com/demo/subway/index.html地圖稍微內容有點多,要全部展示,字顯得有點小了,但是沒關係,可以按照需求放大縮小,字體和繪製的內容並不會失真,畢竟都是用矢量繪製的~界面生成
  • Python那些事——用pythonhon寫個繪圖工具!還怕什麼繪圖嗎!
    創建畫布是製作繪圖工具的前提,有了畫布我們就可以在畫布上盡情的揮灑自己的藝術細胞。還在為如何去繪圖煩惱的小夥伴趕緊看過來,這裡手把手教你解決問題~~~~Python那些事——用pythonhon寫個繪圖工具!還怕什麼繪圖嗎!!
  • matplotlib繪圖邏輯(上)
    matplotlib繪圖邏輯(上)matplotlib是一個基於Python的繪圖庫,具有對2D的完全支持和對3D圖形的有限支持,在Python科學計算社區中廣泛使用。本文對matplotblib的基本繪圖邏輯進行了比較詳細的梳理。寫作過程中參考了很多資料,由於筆記是斷續的,有些可能忘記引用,在此表達感謝。
  • Canvas框架-FabricJS簡介
    一個簡單的canvas demo通過fabric.Canvas獲取到canvas元素,並可以對canvas進行相應的設置,既可以通過獲取已存在的canvas元素,fabric也支持創建Image() 通過元素插入圖片- fromURL() 通過URL插入圖片事件在fabric中,提供了很多不同的事件,下面介紹一部分常見的事件更多更具體的事件可以參考http://fabricjs.com/docs/fabric.Object.html
  • matplotlib如何實現圖形繪製在tkinter的Canvas中?
    下面就是最重要的tkinter和matplotlib集成部分,matplotlib提供FigureCanvasTkAgg對象,只需三行代碼,實現圖形繪製在tkinter的Canvas中:canvas_l = FigureCanvasTkAgg(figure_l, frame_l)# 用draw代替canvas_l.draw()canvas_l.get_tk_widget