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

Details zu gängigen Javascript-Funktionen höherer Ordnung

Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...

MySQL-Transaktionsanalyse

Transaktion Eine Transaktion ist eine grundlegend...

Beispielcode zum Ausblenden von Element-Bildlaufleisten mithilfe von CSS

Wie kann ich die Bildlaufleisten ausblenden und t...

Zehn Erfahrungen im Webdesign im Jahr 2008

<br />Das Internet verändert sich ständig un...

Natives JS zur Implementierung eines Dropdown-Menüs

Dropdown-Menüs sind auch im wirklichen Leben weit...

Detaillierte Schritte zur Installation von Nginx unter Linux

1. Nginx-Installationsschritte 1.1 Offizielle Web...

Bei MySQL-Zeichentypen wird die Groß-/Kleinschreibung beachtet.

Standardmäßig sind MySQL-Zeichentypen nicht case-...

Bei der Verwendung von MySQL aufgetretene Probleme

Hier sind einige Probleme, die bei der Verwendung...

Implementierung der Elementzeitleiste

Inhaltsverzeichnis Komponenten - Zeitleiste Benut...

JavaScript zum Erzielen eines Dropdown-Menüeffekts

Verwenden Sie Javascript, um ein Dropdown-Menü zu...