js verwendet Canvas, um mehrere Bilder in einem Implementierungscode zusammenzuführen

js verwendet Canvas, um mehrere Bilder in einem Implementierungscode zusammenzuführen

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

Bildbeschreibung hier einfügen

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:
  • js + canvas realisiert die Methode zum Zusammenführen zweier Bilder zu einem Bild
  • js speichert das von Canvas generierte Bild oder speichert direkt ein Bild
  • js implementiert die Canvas-Methode, um Bilder im PNG-Format zu speichern und lokal herunterzuladen
  • JS mobile/H5 wählt mehrere Bilder zum gleichzeitigen Hochladen aus und verwendet Canvas, um die Bilder zu komprimieren
  • So zeichnen Sie mit js+html5 Bilder auf Leinwand

<<:  So installieren und implementieren Sie MySQL schnell im Windows-System (grüne, kostenlose Installationsversion)

>>:  Grundkenntnisse zum Lastenausgleich und ein einfaches Beispiel zum Lastenausgleich mit nginx

Artikel empfehlen

Ubuntu 18.04 Touchpad per Befehl deaktivieren/aktivieren

Unter Ubuntu kommt es häufig vor, dass sich das T...

js realisiert 3D-Soundeffekte durch audioContext

In diesem Artikel wird der spezifische Code von j...

Detaillierte Schritte zum Erstellen eines Dateiservers in Windows Server 2012

Der Dateiserver ist einer der am häufigsten verwe...

Importieren von CSS-Dateien unter Verwendung von Beurteilungsbedingungen

Lösung 1: Verwenden Sie bedingten Import im HTML-...

Der Implementierungsprozess der ECharts Multi-Chart-Verknüpfungsfunktion

Wenn viele Daten angezeigt werden müssen, ist die...

MySQL verwendet Variablen, um verschiedene Sortierungen zu implementieren

Kerncode -- Im Folgenden werde ich die Implementi...

Docker CP kopiert Dateien und gibt den Container ein

Geben Sie den laufenden Container ein # Geben Sie...

Lösen Sie das Problem von secure_file_priv null

Fügen Sie secure_file_priv = ' '; führen ...

Die perfekte Lösung zum Hervorheben von Schlüsselwörtern in HTML

Bei der Arbeit an einem Projekt bin ich kürzlich ...