Number four

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? canvas

1.繪制圖片

* 基本繪圖? drawImage(img, x, y)

* 繪圖并設(shè)置大小? drawImage(img, x, y, w, h)

* 裁剪圖片? drwaImage(img, sx, sy, sw, sh, x, y, w, h)? 先寫原圖的左邊大小或渤,在寫畫布的坐標(biāo)大小

2.陰影(了解一下 睦番,少用 性能差)

*類比css3的陰影

* shadowColor 屬性 ?設(shè)置返回用于陰影的顏色

* shadowBlur? 屬性? 模糊值? ·大于1的正整數(shù)洪乍,數(shù)值越高,模糊程度越大

* shadowOffsetX? 屬性 水平方向的偏移量 ?

* shadowOffsetY? 屬性? 垂直方向的偏移量

ctx.fillStyle = "rgba(255,0,0, .9)"

ctx.shadowColor = "teal";

ctx.shadowBlur = 10;

ctx.shadowOffsetX = 10;

ctx.shadowOffsetY = 10;

ctx.fillRect(100, 100, 100, 100);

//繪制矩形

cxt.fillRect(100,100,200,100);

cxt.fillStyle = "red";

cxt.shadowColor = "pink";

cxt.shadowBlur = 5;

cxt.shadowOffsetX = 5;

cxt.shadowOffsetY = 5;

3.漸變

##### 線性漸變

* createLinearGradient(x0, y0, x1, y1);

* graObj.addColorStop(位置摩窃, 顏色)? 位置是0~1之間的小數(shù)

##### 徑向漸變

* createRedialGradient(x0, y0, r0, x1, y1, r1);

* graObj.addColorStop(位置, 顏色)

5.填充背景

* createPattern(img, repeat)? 第二個(gè)參數(shù)是填充方式

* repeate

* repeate-x

* repeate-y

* no-repeate

* 填充對(duì)象跟漸變對(duì)象類似,相當(dāng)于一種顏色

6.1.變換 - 縮放

scale(w,h)

·scale()方法縮放當(dāng)前繪圖们颜,更大或更小

·語法:context.scale(scalewidth,scaleheight)

oscalewidth :縮放當(dāng)前繪圖的寬度(1=100%, 0.5=50%, 2=200%,依次類推)

oscaleheight :縮放當(dāng)前繪圖的高度(1=100%, 0.5=50%, 2=200%, etc.) +注意:縮放的是整個(gè)畫布,縮放后猎醇,繼續(xù)繪制的圖形會(huì)被放大或縮小窥突。

6.2.變換 - 位移

translate(w, h)

·ctx.translate(x,y)方法重新映射畫布上的(0,0)位置

·參數(shù)說明:

·x: 添加到水平坐標(biāo)(x)上的值

·y: 添加到垂直坐標(biāo)(y)上的值

·發(fā)生位移后,相當(dāng)于把畫布的0,0坐標(biāo) 更換到新的x,y的位置硫嘶,所有繪制的新元素都被影響阻问。



6.3.變換 - 旋轉(zhuǎn)

rotate(angle)? 弧度

·context.rotate(angle);方法旋轉(zhuǎn)當(dāng)前的繪圖

·注意參數(shù)是弧度(PI)

·如需將角度轉(zhuǎn)換為弧度,請(qǐng)使用degrees*Math.PI/180公式進(jìn)行計(jì)算沦疾。

7.繪圖環(huán)境的保存和釋放

*·ctx.save()保存當(dāng)前環(huán)境的狀態(tài)

? ? ? ? o ? ? ?可以把當(dāng)前繪制環(huán)境進(jìn)行保存到緩存中称近。

* ctx.restore()? 釋放前面保存的繪圖環(huán)境

? ? ? ? ? ? ? ?o ? 獲取最近緩存的ctx

·一般配合位移畫布使用。

8.設(shè)置繪制環(huán)境的透明度(了解)

·context.globalAlpha=number;

·number:透明值哮塞。必須介于0.0(完全透明) 與1.0(不透明) 之間刨秆。

·設(shè)置透明度是全局的透明度的樣式。注意是全局的忆畅。

9.畫布限定區(qū)域繪制(了解)

·ctx.clip();方法從原始畫布中剪切任意形狀和尺寸

·一旦剪切了某個(gè)區(qū)域衡未,則所有之后的繪圖都會(huì)被限制在被剪切的區(qū)域內(nèi)(不能訪問畫布上的其他區(qū)域)

·一般配合繪制環(huán)境的保存和還原。


10.畫布保存base64編碼內(nèi)容

·把canvas繪制的內(nèi)容輸出成base64內(nèi)容家凯。

·語法:canvas.toDataURL(type, encoderOptions);

·例如:canvas.toDataURL("image/jpg",1);

·參數(shù)說明:

otype眠屎,設(shè)置輸出的類型,比如image/png image/jpeg等

oencoderOptions:0-1之間的數(shù)字肆饶,用于標(biāo)識(shí)輸出圖片的質(zhì)量改衩,1表示無損壓縮,類型為:image/jpeg或者image/webp才起作用驯镊。

案例1:

var canvas = document.getElementById("canvas");

var dataURL = canvas.toDataURL();

console.log(dataURL);

// "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNby

// blAAAADElEQVQImWNgoBMAAABpAAFEI8ARAAAAAElFTkSuQmCC"

var img = document.querySelector("#img-demo");//拿到圖片的dom對(duì)象

img.src = canvas.toDataURL("image/png"); ?????//將畫布的內(nèi)容給圖片標(biāo)簽顯示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末葫督,一起剝皮案震驚了整個(gè)濱河市竭鞍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橄镜,老刑警劉巖偎快,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洽胶,居然都是意外死亡晒夹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門姊氓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丐怯,“玉大人,你說我怎么就攤上這事翔横《刘危” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵禾唁,是天一觀的道長效览。 經(jīng)常有香客問我,道長荡短,這世上最難降的妖魔是什么丐枉? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮掘托,結(jié)果婚禮上矛洞,老公的妹妹穿的比我還像新娘。我一直安慰自己烫映,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布噩峦。 她就那樣靜靜地躺著锭沟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪识补。 梳的紋絲不亂的頭發(fā)上族淮,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音凭涂,去河邊找鬼祝辣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛切油,可吹牛的內(nèi)容都是我干的蝙斜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼澎胡,長吁一口氣:“原來是場噩夢啊……” “哼孕荠!你這毒婦竟也來了娩鹉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤稚伍,失蹤者是張志新(化名)和其女友劉穎弯予,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體个曙,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锈嫩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了垦搬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呼寸。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悼沿,靈堂內(nèi)的尸體忽然破棺而出等舔,到底是詐尸還是另有隱情,我是刑警寧澤糟趾,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布慌植,位于F島的核電站,受9級(jí)特大地震影響义郑,放射性物質(zhì)發(fā)生泄漏蝶柿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一非驮、第九天 我趴在偏房一處隱蔽的房頂上張望交汤。 院中可真熱鬧,春花似錦劫笙、人聲如沸芙扎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戒洼。三九已至,卻和暖如春允华,著一層夾襖步出監(jiān)牢的瞬間圈浇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國打工靴寂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磷蜀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓百炬,卻偏偏與公主長得像褐隆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剖踊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一:canvas簡介 1.1什么是canvas妓灌? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,681評(píng)論 2 32
  • 一轨蛤、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個(gè)矩形區(qū)...
    Looog閱讀 3,942評(píng)論 3 40
  • 一虫埂、canvas簡介 1.1 什么是canvas祥山?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個(gè)矩形區(qū)...
    J_L_L閱讀 1,516評(píng)論 0 4
  • 【canvas】 《2.6.5 面向?qū)ο蠡A(chǔ)復(fù)習(xí)補(bǔ)充:》 創(chuàng)建對(duì)象的方式: * var o = { name: '...
    夜幕小草閱讀 373評(píng)論 0 0
  • 神奇且強(qiáng)大的canvas 一.Canvas的基本介紹 1.什么是Canvas 定義:是HTML5提供的一種新標(biāo)簽,...
    Ainy塵世繁花終凋落閱讀 10,749評(píng)論 1 18