中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

html5canvas常用屬性方法有哪些-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)html5 canvas常用屬性方法有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

康縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),康縣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為康縣超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的康縣做網(wǎng)站的公司定做!

首先引入<canvas></canvas>標(biāo)簽就不必說了。

其次就是得到canvas的2d環(huán)境了( var ctx = canvasDom.getContext('2d') )。

現(xiàn)在呢,你可能想畫點什么東西。畫東西之前你要確定好一些東西,比如:

 ctx.fillStyle:這是一個用來確定填充顏色的屬性。(帶fill都和填充有關(guān))
  ctx.strokeStyle:這是一個用來確定"筆路徑"(就像是線條)的屬性。(帶stroke都和描線有關(guān))
  ctx.shadow++:這是有4個設(shè)置所畫圖形陰影的屬性(shadowColor,shadowBlur,shadowOffsetX,shadowOffsetY),我不常用,略。
  ctx.lineWidth:這是4個設(shè)置線條樣式的屬性(lineCap,lineJoin,lineWidth,miterLimit)中最常用的,設(shè)置線寬,值為帶px的string。
  ctx.font:這是設(shè)置文本()的字體大小和字體樣式,值可以是"30px",也可以是"30px  Microsoft yahei"。同時配合ctx.textAlign和ctx.baseline設(shè)置對齊位置和基線位置。然后通過ctx.filltext()或者ctx.strokeText()繪制文字,還有ctx.measureText()返回一個對象,里面包含文本的信息,比如width,height。

了解了上面這些基礎(chǔ)屬性后,你就可以畫點什么了:

想要顯示點什么東西,流程大概是先弄路徑(路徑是看不見的),然后再通過ctx.fill()或ctx.stroke來對路徑進(jìn)行填充或描線。

你可以用ctx.rect(x,y,width,height)或ctx.arc(x,y,radius,startAngle,endAngle,anticolorwise)先弄一個路徑,然后在fill或者stroke。

當(dāng)然矩形有ctx.fillRect()和ctx.strokeRect()直接弄一個可見的方形。(圓沒有這兩個方法)

最后再介紹一個黑板擦--ctx.clearRect(x,y,weight,height),用來清除該方框內(nèi)的所有像素。

還有一個為了防止之前的路徑干擾,可以在每次畫之前都ctx.beginPath()來清掉之前的路徑。

以上就是基本的canvas的使用,下面就來聊點高(yong)級(bu)點(shang)的。

矩形樣式的漸變填充:

var grd = ctx.createLinearGradient(x0,y0,x1,y1);
grd.addColorStop(0,"black");
grd.addColorStop(1,"white");
ctx.fillstyle = grd;
ctx.fillRect(x,y,w,h);

這一趟下來相當(dāng)于是先預(yù)定義了一個漸變樣式(可填充或者描線),將樣式設(shè)置好后進(jìn)行填充或者描線。

還有createRadialGradient()配合addColorStop設(shè)置放射狀的樣式。

媒體(圖片、視頻、其他canvas)的填充:  

var img = imgDom;
var pat = ctx.createPattern(img,"repeat");

然后這個pat就可以給ctx.++Style,從而進(jìn)行填充或者描線等。

其中pattern有四種:repeat(默認(rèn)),repeat-x,repeat-y,no-repeat。

自定義路徑:

利用ctx.moveTo(x,y);把路徑起點移動到(x,y) ,然后配合lineTo(x,y),就可以得到路徑,就可以描線顯示出來。

當(dāng)然如果你想填充,但是可能路徑?jīng)]有閉合,可以利用ctx.closePath()閉合路徑,然后進(jìn)行填充。

畫布切割:

使用ctx.clip()可以根據(jù)當(dāng)前已閉合的路徑來剪切畫布,被剪切的畫布部分就不能被操作了。

可以通過ctx.save()對當(dāng)前區(qū)域先進(jìn)行保存,然后通過ctx.restore()進(jìn)行恢復(fù)。

畫圓弧:

畫圓弧通過ctx.arcTo(x0,y0,x1,y1,radius);通過兩點和半徑確定弧線,來得到路徑,然后根據(jù)需要填充或者描線。

判斷點是否在路徑內(nèi):

ctx.isPointInPath();返回布爾值,沒啥好說的。

有一種曲線叫 貝塞爾:

  先用ctx.moveTo()移至起始點。

  ctx.quadraticCurveTo(c1x,c1y,edx,edy);利用起點和一個控制點加終點的貝塞爾曲線;

  ctx.beizierCurveTo(c1x,c1y,c2x,c2y,edx,edy);利用兩個控制點繪制的貝塞爾曲線。

圖形轉(zhuǎn)換:

    ctx.scale(w,h);放大w>1就是寬度上放大,h就是高度上。

    ctx.rotate(r);r為弧度單位,如20度:20*Math.PI/180。順時針。

    ctx.translate(x,y)設(shè)置畫布上(0,0)的位置,(x,y)就是當(dāng)前(0,0)的位置。

    ctx.transform(a,b,c,d,e,f);分別是水平縮放、水平傾斜、垂直傾斜、垂直縮放、水平位移、垂直位移。該屬性會疊加,對下一個圖形有效。

    ctx.setTransform(a,b,c,d,e,f);同上,該屬性會重新定義一個transform,對下一個圖形有效。

drawImage():

  ctx.drawImage(dom,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);除了dom外最多還可以傳8個參數(shù),傳2個是定位圖像(原尺寸),傳4個是按大小定位圖像,傳8個是剪切后定位圖像(分別是:剪切開始x,y,剪切大小w,h,定位位置x,y,大小w,h)。

  globalAipha屬性:設(shè)置全局透明度。(已經(jīng)畫好的不受影響)。

  globalCompositeOperation 屬性 設(shè)置上一個和下一個重疊區(qū)的層疊順序,有"source-over","destination-over",哪個over,哪個在下面。

上述就是小編為大家分享的html5 canvas常用屬性方法有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:html5canvas常用屬性方法有哪些-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.rwnh.cn/article8/dscjop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗企業(yè)建站、網(wǎng)站制作企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
沂南县| 蓬溪县| 江北区| 遵义县| 和平县| 和静县| 特克斯县| 宁蒗| 宁南县| 南平市| 北宁市| 安顺市| 德阳市| 和政县| 沙湾县| 海兴县| 桃园县| 麦盖提县| 咸丰县| 石景山区| 鹰潭市| 湖口县| 桦南县| 伊金霍洛旗| 舞钢市| 安徽省| 三江| 岳阳市| 桃园市| 东阿县| 浪卡子县| 余姚市| 东方市| 南雄市| 澄城县| 中宁县| 阿图什市| 手机| 新兴县| 怀安县| 蓬安县|