最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

解決方案

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

淳安县| 英超| 大新县| 沈阳市| 米林县| 吴川市| 巍山| 加查县| 井研县| 廉江市| 阳信县| 乐至县| 清徐县| 山阴县| 泗阳县| 庆云县| 虹口区| 衡阳市| 萝北县| 卢湾区| 嘉荫县| 巢湖市| 思南县| 香格里拉县| 巫山县| 南和县| 保山市| 白河县| 绩溪县| 得荣县| 普陀区| 鸡东县| 青川县| 文登市| 沙湾县| 丹巴县| 松阳县| 蒲江县| 仁布县| 库伦旗| 老河口市|