激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js教程 - js使用Canvas將多張圖片合并成一張的實(shí)現(xiàn)代碼

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

2022-02-22 16:09weixin_45337170 js教程

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

解決方案

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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)化一下,改成公共方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
 * 合并多張圖片,返回新的圖片
 * @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)
})

效果

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

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

原文鏈接:https://blog.csdn.net/weixin_45337170/article/details/115318940

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久亚洲美女啪啪 | 久久线视频 | 激情大乳女做爰办公室韩国 | 九九热色 | 在线中文字幕不卡 | 欧美黄成人免费网站大全 | 国产欧美日韩久久久 | 青青草免费观看 | 中文字幕一区久久 | 亚洲精品日韩欧美 | 欧美成人三级大全 | 国产在线精品一区二区三区 | av电影在线观看网址 | 欧美三级日本三级少妇99 | 性少妇videosexfreexx| 久久亚洲精品久久国产一区二区 | 久久久www成人免费毛片 | 日日狠狠久久偷偷四色综合免费 | 久久久www成人免费毛片 | 激情小说激情电影 | 成人偷拍片视频在线观看 | 欧洲成人一区二区 | 一级免费黄色免费片 | 国产精品久久999 | 欧美日韩大片在线观看 | 色婷婷一区二区三区 | 免费一级毛片在线播放视频老 | 久久人人爽人人爽人人片av免费 | 999精品久久久 | 久久看免费视频 | 中文字幕免费在线观看视频 | av在线直播观看 | 亚洲视频欧美 | 老司机一级毛片 | 国产日韩在线观看视频 | 得得啪在线视频 | 欧美aaaaa一级毛片在线 | 美女av在线免费观看 | 天天色综合2 | av人人 | 久久亚洲精品久久国产一区二区 |