久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

js使用Canvas將多張圖片合并成一張的實現代碼

瀏覽:124日期:2024-04-02 16:42:41

解決方案

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 )

代碼稍微優化一下,改成公共方法

/** * 合并多張圖片,返回新的圖片 * @param {Array} list 圖片url數組 * @param {Number} cwith 畫布寬度 默認500 * @param {Number} cheight 畫布高度 默認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 = base64document.body.appendChild(imgDom)})

效果

js使用Canvas將多張圖片合并成一張的實現代碼

到此這篇關于js使用Canvas將多張圖片合并成一張的實現代碼的文章就介紹到這了,更多相關js canvas圖片合并一張內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 留坝县| 通江县| 泾源县| 南岸区| 伊宁县| 句容市| 嘉定区| 海淀区| 昭平县| 建宁县| 佛山市| 睢宁县| 涞源县| 蒙自县| 吉木萨尔县| 高密市| 兴安县| 洛南县| 织金县| 沽源县| 盐亭县| 郧西县| 昆明市| 元谋县| 普定县| 壤塘县| 花莲县| 绥宁县| 姚安县| 乌审旗| 新津县| 湾仔区| 二连浩特市| 高邑县| 万安县| 克什克腾旗| 界首市| 双城市| 万安县| 大同县| 湘乡市|