1. 程式人生 > >詳述canvas(二)/canvas繪圖函式彙總

詳述canvas(二)/canvas繪圖函式彙總

繪圖路徑:

beginPath() :開始路徑
closePath():閉合路徑
moveTo(x,y):將觸筆移動到x,y點
lineTo(x,y):繪製到x,y點
stroke(): 觸筆方法 畫線 預設為黑色
fill():填充方法
rect(x,y,w,h):矩形路徑
save():儲存路徑
restore():恢復路徑

繪製矩形:
fillRect(x,y,w,h) 填充實心矩形
strokeRect(x,y,w,h) 繪製空心矩形
clearRect(x,y,w,h) 清除矩形選區

設定繪圖樣式:
fillStyle: 填充顏色
strokeStyle: 觸筆顏色
lineWidth: 觸筆寬度(線寬)

圖形邊界樣式:
lineJoin : 邊界連線點樣式
miter(預設值),round(圓角),bevel(斜角)
lineCap: 端點樣式
butt(預設值),round(圓角),square(高度多出線寬一半)

繪製圓形:
arc(x,y,r,startAngle,endAngle,false)
x,y 圓心座標位置
r 圓半徑
startAngle開始角度,以弧度表示 弧度公式:角度*PI/180
endAngle結束角度,以弧度表示 弧度公式:角度*PI/180
true/false 逆時針/順時針繪圖

繪製曲線
arcTo(x1,y1,x2,y2,r)
x1,y1 座標一 x2,y2座標二 r圓弧半徑
quadraticCurveTo(dx,dy,x1,y1)
貝塞爾曲線:dx,dy控制點 x1,y1結束座標
bezierCurveTo(dx1,dy1,dx2,dy2,x1,y1)
貝塞爾曲線:dx1,dy1控制點一 dx2,dy2控制點二 x1,y1結束座標

canvas變換
translate(x,y)
座標基準點偏移:從起始點為基準,移動到當前位置
rotate(弧度):旋轉 弧度公式:角度*PI/180
scale(wb,hb)縮放比例(縮放canvas繪製的圖片)

繪製圖片
圖片預載入,獲取圖片檔案
onload中呼叫
drawImage(img,x,y,w,h);繪製圖片(圖片,座標x,座標y,寬度,高度)

設定背景
createPattern(img,平鋪方式)
平鋪方式:repeat,repeat-x,repeat-y,no-repeat

顏色漸變
線性漸變:createLinearGradient(x1,y1,x2,y2)
x1,y1起始座標點
x2,y2結束座標點
徑向漸變:createRadialGradient(x1,y1,r1,x2,y2,r2)
x1,y1,r1內圓座標及半徑
x2,y2,r2外圓座標及半徑
addColorStop(位置,顏色)
位置:漸變點 0-1之間 可多個

繪製文字
strokeText(文字,x,y); 繪製空心文字
fillText(文字,x,y); 繪製實心文字
font = “font-size font-family” 注:尺寸 字型缺一不可
textAlign = “”;文字左右對齊方式
start center end left right
textBaseline文字上下對齊方式
alphabetic 預設。文字基線是普通的字母基線。
top 文字基線是 em 方框的頂端。。
hanging 文字基線是懸掛基線。
middle 文字基線是 em 方框的正中。
ideographic 文字基線是表意基線。
bottom 文字基線是 em 方框的底端。
measureText(文字).width; 文字實際寬度(只有寬度值)

陰影
shadowOffsetX,shadowOffsetY x軸、y軸偏移
shadowBlur 陰影模糊度
shadowColor 陰影顏色
預設顏色:rgba(0,0,0,0)

畫素
createImageData(sx,sy)
建立新的、空白的 ImageData 物件
getImageData(x1,y1,sx,sy)
返回 ImageData 物件,該物件為畫布上指定的矩形複製畫素資料 putImageData(img,x2,y2)
把影象資料(從指定的 ImageData 物件)放回畫布上

合成
globalAlpha設定或返回繪圖的當前 alpha 或透明值
globalCompositeOperation 設定或返回新影象如何繪製到已有的影象上
source-over預設。在目標影象上顯示源影象。
source-atop在目標影象頂部顯示源影象。源影象位於目標影象之外的部分是不可見的。
source-in在目標影象中顯示源影象。只有目標影象內的源影象部分會顯示,目標影象是透明的。
source-out在目標影象之外顯示源影象。只會顯示目標影象之外源影象部分,目標影象是透明的。
destination-over在源影象上方顯示目標影象。
destination-atop在源影象頂部顯示目標影象。源影象之外的目標影象部分不會被顯示。
destination-in在源影象中顯示目標影象。只有源影象內的目標影象部分會被顯示,源影象是透明的。
destination-out在源影象外顯示目標影象。只有源影象外的目標影象部分會被顯示,源影象是透明的。
lighter顯示源影象 + 目標影象。
copy顯示源影象。忽略目標影象。
xor使用異或操作對源影象與目標影象進行組合。

將畫布匯出為圖片
火狐、谷歌瀏覽器右鍵選單可直接匯出為圖片
toDataURL
事件
isPointInPath(x,y)
如果指定的點位於當前路徑中,返回布林值
只能判斷最後繪製出來的圖片

相關推薦

詳述canvas()/canvas繪圖函式彙總

繪圖路徑: beginPath() :開始路徑 closePath():閉合路徑 moveTo(x,y):將觸筆移動到x,y點 lineTo(x,y):繪製到x,y點 stro

canvas canvas繪製錶盤,及canvas曲線的繪製

/** * 繪製圓 * arc(x,y,半徑,起始弧度,結束弧度,旋轉方向) * x,y起始位置 * 弧度與角度的關係 : 弧度 = 角度*Math.PI/180 * 旋轉方向:順時針(預設false)、逆時針(true) */ var oc = d

HTML5 Canvas 開發 繪圖方法整理 【canvas直線 & canvas矩形】

開始繪製圖形之前有一點需要說一下,Canvas 採用的座標系是W3C的座標系 : X軸 正方向 向右; Y軸 正方向 向下; 所有的繪製方向都以這個為準。 Canvas 左上角的座標是 X :0 ; Y : 0

canvas製作滑鼠繪圖和方塊移動小案例

在這裡插入圖片描述 canvas製作滑鼠繪圖: 原理:獲取開始點選的點 和滑鼠移動後的點 所用知識:event物件 canvas繪圖 window.onload=function (){ var myCanvas=document.querySele

matlab畫圖函式彙總

4、ezplot 容易使用的函式繪製器 【語法】 ezplot(f)繪製表示式f=f(x)在預設區間-2π<x<2π上的影象; 對於隱式含義的函式f=f(x,y),繪製在預設區間-2π<x<2π,-2π<y<2π上表達式f(x,y)=0的影象。

java-js知識庫之——canvas繪製炫彩氣泡

        現在使用canvas繪製氣泡,雖說很多人都已經實現過了,可能方法都大同小異,但自己寫和看別人寫完全是兩碼事,自己會寫的才是自己的,話不多說,直接上程式碼。         先來一張效果圖:   &nb

Html5 Canvas 系列_繪圖三(H5 拖放元件)

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta

Android 自定義控制元件-Canvas和Paint繪圖詳解-手把手帶你繪製一個時鐘.

,Android - Paint基礎 在自定義控制元件時,經常需要使用canvas、paint等,在canvas類中,繪畫基本都是靠drawXXX()方法來完成的,在這些方法中,很多時候都需要用到paint型別的引數, Paint作為一個非常重要的元素,功能

Python自學之路-Python基礎教程-24:使用tkinter的Canvas畫布元件繪圖

要在tkinter的視窗上繪圖也是可以做到的,這需要使用Canvas畫布元件。 新增一個Canvas物件也很簡單,指定寬度和高度,就可以在這個物件上畫圖。 tkWindow = tk.Tk() draw = tk.Canvas(tkWindow, width=100

詳述用html5 canvas實現的類似於天貓的購物進度反饋/訂單跟蹤

UI設計圖如下: 2、函式引數設想 我們來假設,最後有一個函式,名字叫做trace,當我們【trace(XXXXX);】之後,颯的一下,最終的進度反饋圖就在頁面上渲染出來了。那麼這個函式,我應該要給它什麼資料作為引數讓它去生成最終的結果呢? 大夥們可以

Matlab繪圖---plot函式詳解

 plot函式是matlab中最主要的二維作圖函式。(參考文獻--MATLAB HELP 文件) 一、常用的函式主要的形式有以下幾種: plot(X,Y) plot(X,Y,

canvas實現滑鼠繪圖

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <sc

ecshop次發開必備_函式彙總(一…

P: 獲得當前格林威治時間的時間戳 /$0 server_timezone() P: 獲得伺服器的時區 /$0 local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NUL

canvas 上繪製正多邊形函式

這是我自己通過計算得出的函式,由於我數學沒學好,可能計算過程有點兒複雜,導致程式碼冗長。 -------------------------------------------------------------------------------------------

繪圖引擎:圓、半圓、弧線繪制

mat draw code del data- lineto ani tro ram 二維畫圖引擎-畫圓、半圓、弧線 // // QHCircle.m // 繪圖 // #import "QHCircle.h" @implement

SQL注入報錯注入函式彙總

1.floor() id = 1 and (select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a) 原理:https://b

【原始碼】高階色彩繪圖函式linspecer

MATLAB自帶的line spec和colormaps是非常粗糙簡單的。linspecer函式的線條繪圖基於perceptive空間,而不是RGB空間。函式編寫是基於Cynthia Brewer教授的研究成果,且易於使用。 linspecer函式建立一個N x 3的[R G B]色彩

Android註冊程式編寫()主函式部分

Android註冊程式編寫(二) (作者:Baron_wu 禁止轉載) 大家關注一下,順便點個讚唄 首先安裝外掛:butterknife 開啟file下的setting並選擇plugins(在browse): 在browserepository中搜索butterknif

python之路-day14-內建函式、匿名函式、遞迴

一、匿名函式 函式: def 函式名(形參): 函式體(return) 函式名(實參)   形參: 1、位置引數 2、預設引數 3、動態傳參 *args:動態接收位置引數 **kwargs:動態接收關鍵字引數   位置 >  *args  

pandas 繪圖函式

1. pandas 繪圖函式 pandas有許多能夠利用DataFrame物件資料組織特點來建立標準圖表的高階繪圖方法 線型圖: Series和DataFrmae都有一個用於生成各類圖表的plot方烤雞。預設情況下,它們所生成的是線型圖。 import numpy as np imp