欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js使用Canvas將多張圖片合并成一張的實(shí)現(xiàn)代碼

 更新時(shí)間:2021年04月01日 10:07:25   作者:weixin_45337170  
這篇文章主要介紹了js使用Canvas將多張圖片合并成一張的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

解決方案

function mergeImgs(list) {
 const imgDom = document.createElement('img')
 document.body.appendChild(imgDom)

 const canvas = document.createElement('canvas')
 canvas.width = 500
 canvas.height = 500 * list.length
 const context = canvas.getContext('2d')

 list.map((item, index) => {
 const img = new Image()
 img.src = item
 // 跨域
 img.crossOrigin = 'Anonymous'
 
 img.onload = () => {
  context.drawImage(img, 0, 500 * index, 500, 500)
  const base64 = canvas.toDataURL('image/png')
  imgDom.setAttribute('src', base64)
  // console.log(baseList)
 }
 })
}

const urlList = ['./img/timg%20(1).jpg', './img/timg.jpg']
mergeImgs(urlList )

代碼稍微優(yōu)化一下,改成公共方法

/**
 * 合并多張圖片,返回新的圖片
 * @param {Array} list 圖片url數(shù)組
 * @param {Number} cwith 畫布寬度 默認(rèn)500
 * @param {Number} cheight 畫布高度 默認(rèn)500
 */
function mergeImgs(list, cwith = 500, cheight = 500) {
 return new Promise((resolve, reject) => {
 const baseList = []

 const canvas = document.createElement('canvas')
 canvas.width = cwith
 canvas.height = cheight * list.length
 const context = canvas.getContext('2d')

 list.map((item, index) => {
  const img = new Image()
  img.src = item
  // 跨域
  img.crossOrigin = 'Anonymous'

  img.onload = () => {
  context.drawImage(img, 0, cheight * index, cwith, cheight)
  const base64 = canvas.toDataURL('image/png')
  baseList.push(base64)

  if (baseList[list.length - 1]) {
   console.log(baseList)
   // 返回新的圖片
   resolve(baseList[list.length - 1])
  }
  }
 })
 })
}

const urlList = ['./img/timg%20(1).jpg', './img/timg.jpg']
mergeImgs(urlList ).then(base64 => {
	const imgDom = document.createElement('img')
	imgDom.src = base64
	document.body.appendChild(imgDom)
})

效果

在這里插入圖片描述

到此這篇關(guān)于js使用Canvas將多張圖片合并成一張的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)js canvas圖片合并一張內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js實(shí)現(xiàn)鼠標(biāo)跟隨運(yùn)動(dòng)效果

    js實(shí)現(xiàn)鼠標(biāo)跟隨運(yùn)動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)鼠標(biāo)跟隨運(yùn)動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法

    js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法

    下面小編就為大家分享一篇js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • JavaScript中的new操作符的具體使用

    JavaScript中的new操作符的具體使用

    本文主要介紹了JavaScript中的new操作符的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JavaScript中常見的類型判斷方法和區(qū)別詳解

    JavaScript中常見的類型判斷方法和區(qū)別詳解

    在JavaScript中,我們經(jīng)常需要對(duì)數(shù)據(jù)的類型進(jìn)行判斷,以便進(jìn)行相應(yīng)的處理,本文將介紹JavaScript中常見的類型判斷方法,包括typeof、instanceof、Object.prototype.toString() 以及Array.isArray(),并且會(huì)詳細(xì)解釋它們之間的區(qū)別,需要的朋友可以參考下
    2023-11-11
  • javascript web對(duì)話框與彈出窗口

    javascript web對(duì)話框與彈出窗口

    web對(duì)話框與彈出窗口的js函數(shù)
    2009-02-02
  • JavaScript清空數(shù)組的四種方法

    JavaScript清空數(shù)組的四種方法

    這篇文章主要介紹了JavaScript清空數(shù)組的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • JavaScript組合模式---引入案例分析

    JavaScript組合模式---引入案例分析

    這篇文章主要介紹了JavaScript組合模式,結(jié)合具體案例形式分析了JavaScript組合模式定義、應(yīng)用與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • layui--select使用以及下拉框?qū)崿F(xiàn)鍵盤選擇的例子

    layui--select使用以及下拉框?qū)崿F(xiàn)鍵盤選擇的例子

    今天小編就為大家分享一篇layui--select使用以及下拉框?qū)崿F(xiàn)鍵盤選擇的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • Bootstrap布局方式詳解

    Bootstrap布局方式詳解

    這篇文章主要為大家詳細(xì)介紹了Bootstrap布局方式,分析了Bootstrap網(wǎng)格系統(tǒng)的各種特性,感興趣的小伙伴們可以參考一下
    2016-05-05
  • JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能示例【測(cè)試可用】

    JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能示例【測(cè)試可用】

    這篇文章主要介紹了JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能,結(jié)合完整實(shí)例形式分析了JavaScript基于事件響應(yīng)與樣式動(dòng)態(tài)操作實(shí)現(xiàn)圖片切換相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12

最新評(píng)論