Lösung Funktion mergeImgs(Liste) { const imgDom = document.createElement('img') Dokument.Body.AnhängenUntergeordnetesElement(imgDom) const canvas = document.createElement('canvas') Leinwandbreite = 500 Leinwandhöhe = 500 * Listenlänge const Kontext = Canvas.getContext('2d') Liste.Map((Element, Index) => { const img = neues Bild() img.src = Artikel // Domänenübergreifend img.crossOrigin = "Anonym" img.onload = () => { Kontext.drawImage(Bild, 0, 500 * Index, 500, 500) const base64 = canvas.toDataURL('bild/png') imgDom.setAttribute('src', base64) // console.log(Basisliste) } }) } const urlList = ['./img/timg%20(1).jpg', './img/timg.jpg'] Bilder zusammenführen(URL-Liste) Optimieren Sie den Code leicht und ändern Sie ihn in eine öffentliche Methode /** * Mehrere Bilder zusammenführen und ein neues Bild zurückgeben * @param {Array} Liste Bild-URL-Array * @param {Number} cwith Die Leinwandbreite beträgt standardmäßig 500 * @param {Number} cheight Die Standardhöhe der Leinwand beträgt 500 */ Funktion mergeImgs(Liste, cwith = 500, cheight = 500) { returniere neues Promise((lösen, ablehnen) => { const Basisliste = [] const canvas = document.createElement('canvas') canvas.width = cmit Leinwandhöhe = Leinwandhöhe * Listenlänge const Kontext = Canvas.getContext('2d') Liste.Map((Element, Index) => { const img = neues Bild() img.src = Artikel // Domänenübergreifend img.crossOrigin = "Anonym" img.onload = () => { Kontext.drawImage(Bild, 0, cheight * Index, cwith, cheight) const base64 = canvas.toDataURL('bild/png') Basisliste.push(base64) if (Basisliste[Listenlänge - 1]) { console.log(Basisliste) //Gib das neue Bild zurück: 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 Dokument.Body.AnhängenUntergeordnetesElement(imgDom) }) Wirkung Dies ist das Ende dieses Artikels über den Implementierungscode von js mit Canvas zum Zusammenführen mehrerer Bilder zu einem. Weitere relevante Inhalte zum Zusammenführen von js-Canvas-Bildern finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Grundkenntnisse zum Lastenausgleich und ein einfaches Beispiel zum Lastenausgleich mit nginx
Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...
Transaktion Eine Transaktion ist eine grundlegend...
1. Ursache Der offizielle Cerbot ist zu nervig. E...
Wie kann ich die Bildlaufleisten ausblenden und t...
<br />Das Internet verändert sich ständig un...
Dropdown-Menüs sind auch im wirklichen Leben weit...
Docker-Installation (Alibaba Cloud Server) Offizi...
Kollegen fragen oft, ob beim Löschen von Dateien/...
Inhaltsverzeichnis Szenario Versuchen Sie zu löse...
Kürzlich habe ich ein Spark-Streaming-Programm in...
1. Nginx-Installationsschritte 1.1 Offizielle Web...
Standardmäßig sind MySQL-Zeichentypen nicht case-...
Hier sind einige Probleme, die bei der Verwendung...
Inhaltsverzeichnis Komponenten - Zeitleiste Benut...
Verwenden Sie Javascript, um ein Dropdown-Menü zu...