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

MySQL-Unterabfragen und gruppierte Abfragen

Inhaltsverzeichnis Überblick Unterabfragen Untera...

22 Vue-Optimierungstipps (Projektpraxis)

Inhaltsverzeichnis Code-Optimierung Verwenden der...

Docker+Gitlab+Jenkins erstellt automatisierte Bereitstellung von Grund auf

Inhaltsverzeichnis Vorwort: 1. Docker installiere...

So fügen Sie img-Bilder in Vue-Seiten ein

Wenn wir HTML lernen, führt das Bild-Tag <img&...

Installieren Sie Kafka unter Linux

Inhaltsverzeichnis 1.1 Java-Umgebung als Vorausse...

So kompilieren Sie Nginx neu und fügen Module hinzu

Beim Kompilieren und Installieren von Nginx werde...

Beispiel zum Ändern von Stilen über CSS-Variablen

Frage Wie ändere ich den CSS-Pseudoklassenstil mi...