真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片

這篇文章主要介紹js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、桐鄉(xiāng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為桐鄉(xiāng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

具體要實(shí)現(xiàn)的效果類(lèi)似下面這張圖片,主題流程大概是,頁(yè)面上有類(lèi)似這樣布局的結(jié)構(gòu),點(diǎn)擊中間那個(gè)紫色的按鈕就會(huì)生成一張這樣的圖片,并且能夠讓用戶下載圖片的

js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片

1、首先我們布局頁(yè)面的時(shí)候用的都是圖片來(lái)布局成這個(gè)樣子[CSS自己腦補(bǔ)],class為pho-bg這一段是頁(yè)面開(kāi)始顯示的結(jié)構(gòu),幾張圖片定位,按鈕在中間的樣子。class為photo的就是用來(lái)到時(shí)候放置生成的圖片。canvas就是畫(huà)布。至于下面的兩張圖片其實(shí)就是按鈕的圖片和背景圖,到時(shí)候一并加入畫(huà)布里面【不過(guò)在頁(yè)面的時(shí)候不顯示】

 
 
 
 
 
 
 
 
 
 
     

2、重要的是js部分,這里面有幾個(gè)部分

  • 在點(diǎn)擊按鈕時(shí)隱藏掉本來(lái)的頁(yè)面,顯示畫(huà)布生成的圖片

  • canvas.width,canvas.height是設(shè)置你生成的圖片的大小。舉個(gè)例子:如果我在canvas的html標(biāo)簽里面設(shè)置的width=750,height=1180,但是在js里面設(shè)置了canvas.width=500,canvas.height=500,那么生成的圖片的大小就會(huì)是500*500.

  • 使用createPattern來(lái)制作圖片的背景圖

  • 使用drawImage()來(lái)制作組成圖片的小元素也就是紅、黃、藍(lán)、綠、紫那幾張圖片

  • 最后用toDataURL()將畫(huà)布的內(nèi)容轉(zhuǎn)為圖片并且渲染到頁(yè)面上

$('.btn').click(function() {
 $('.pho-bg').hide();
 // $('#myCanvas').show();
 var man1 = document.getElementById("man-1"),
 man2 = document.getElementById("man-2"),
 man3 = document.getElementById("man-3"),
 man4 = document.getElementById("man-4"),
 sen1 = document.getElementById("sen1"),
 btn1 = document.getElementById("btn1"),
 canvasBg = document.getElementById("bg1");
 
 
 var canvas = document.getElementById("myCanvas");
 ctx = canvas.getContext("2d");
 canvas.width = 750;
 canvas.height = 1180;
 // 制作背景圖
 var patBg = ctx.createPattern(canvasBg, "repeat");
 ctx.rect(0, 0, 750, 1180);
 ctx.fillStyle = patBg;
 ctx.fill();
 // 將man1,man2,man3,man4,sen1,btn加入畫(huà)布
 ctx.drawImage(man1, 0, 0, 341, 474);
 ctx.drawImage(man2, 410, 0, 341, 474);
 ctx.drawImage(man3, 0, 474, 341, 474);
 ctx.drawImage(man4, 410, 474, 341, 474);
 
 ctx.drawImage(sen1, 40, 950, 669, 109);
 ctx.drawImage(btn1, 150, 350, 449, 288);
 var newImg = new Image();
 newImg.src = canvas.toDataURL("image/png");
 
 $('.photo').append(newImg);
 
 });

最后的結(jié)果生成的圖片就是這樣子的

js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片

以上是“js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站欄目:js中canvas怎么實(shí)現(xiàn)5張圖片合成一張圖片
文章鏈接:http://weahome.cn/article/pceodj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部