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

Zusammenfassung der drei Lazy-Load-Methoden lazyLoad mit nativem JS

Inhaltsverzeichnis Vorwort Methode 1: Hoher Kontr...

Detaillierte Einführung in den MySQL Innodb Index-Mechanismus

1. Was ist ein Index? Ein Index ist eine Datenstr...

Über MySQL müssen Sie die Datentypen und Operationstabellen kennen

Datentypen und Operationen Datentabelle 1.1 MySQL...

CSS-Overflow-Wrap – Verwendung neuer Eigenschaftswerte überall

1. Verstehen Sie zunächst das Overflow-Wrap-Attri...

CSS zum Erzielen eines Animationseffekts der Tik Tok-Abonnementschaltfläche

Ich habe mir vor einiger Zeit Tik Tok angesehen u...

Analyse des Quellcodes des Nginx-Speicherpools

Inhaltsverzeichnis Speicherpoolübersicht 1. Nginx...

Warum sollte CSS im Head-Tag platziert werden?

Denken Sie darüber nach: Warum sollte css im head...

Reines CSS-Dropdown-Menü

Ergebnisse erzielen Implementierungscode html <...

MySQL extrahiert interne JSON-Felder und gibt sie als Zahlen aus.

Inhaltsverzeichnis Hintergrund Problemanalyse 1. ...