Heim Web-Frontend js-Tutorial JS+canvas betreibt GIF-Animationen

JS+canvas betreibt GIF-Animationen

Apr 18, 2018 pm 03:11 PM
javascript 操作

Dieses Mal bringe ich Ihnen JS+Canvas zum Betreiben von GIF-Animationen. Was sind die Vorsichtsmaßnahmen zum Betreiben von GIF-Animationen mit JS+Canvas? Im Folgenden sind praktische Fälle aufgeführt. 1 Steh auf und schau es dir an.

HTML5-Canvas kann Bildinformationen lesen und das aktuelle Bild zeichnen. Daher können viele Bildspezialeffekte erzielt werden, wie z. B. Bildmosaik, Unschärfe, Farbwertfilterung usw. Wir müssen hier nicht so kompliziert sein, wir müssen nur unser Bild lesen und es neu zeichnen.

HTML-Code:

<imgid="testImg"src="xxx.gif"width="224"height="126">
<p><inputtype="button"id="testBtn"value="停止"></p>
Nach dem Login kopieren

JS-Code:

if('getContext'indocument.createElement('canvas')) {
 HTMLImageElement.prototype.play =function() {
  if(this.storeCanvas) {
   // 移除存储的canvas
   this.storeCanvas.parentElement.removeChild(this.storeCanvas);
   this.storeCanvas =null;
   // 透明度还原
   image.style.opacity ='';
  }
  if(this.storeUrl) {
   this.src =this.storeUrl;
  }
 };
 HTMLImageElement.prototype.stop =function() {
  varcanvas = document.createElement('canvas');
  // 尺寸
  varwidth =this.width, height =this.height;
  if(width && height) {
   // 存储之前的地址
   if(!this.storeUrl) {
    this.storeUrl =this.src;
   }
   // canvas大小
   canvas.width = width;
   canvas.height = height;
   // 绘制图片帧(第一帧)
   canvas.getContext('2d').drawImage(this, 0, 0, width, height);
   // 重置当前图片
   try{
    this.src = canvas.toDataURL("image/gif");
   }catch(e) {
    // 跨域
    this.removeAttribute('src');
    // 载入canvas元素
    canvas.style.position ='absolute';
    // 前面插入图片
    this.parentElement.insertBefore(canvas,this);
    // 隐藏原图
    this.style.opacity ='0';
    // 存储canvas
    this.storeCanvas = canvas;
   }
  }
 };
}
  
varimage = document.getElementById("testImg"),
 button = document.getElementById("testBtn");
  
if(image && button) {
 button.onclick =function() {
  if(this.value =='停止') {
   image.stop();
   this.value ='播放';
  }else{
   image.play();
   this.value ='停止';
  }
 };
}
Nach dem Login kopieren

Der obige Code wurde nicht im Detail getestet und mögliche Erfahrungsprobleme (IE-Flackern) wurden nicht speziell behandelt (das Auswirkungsprinzip wird gezeigt). Wenn Sie ihn tatsächlich verwenden möchten, müssen Sie ihn selbst optimieren.

Nachteile:

1. IE9+-Unterstützung. IE7/IE8 unterstützt kein Canvas.

2. Sie können nur das GIF stoppen, nicht die echte Pause. Da es sich bei den von Canvas erhaltenen GIF-Bildinformationen um die Informationen des ersten Frames handelt, scheint es, dass die nachfolgenden nicht abgerufen werden können. Um eine Pause statt eines Stopps zu erreichen, ist weitere Forschung erforderlich. Wenn Sie eine Methode haben, können Sie diese gerne mit uns teilen.                                        

Ich glaube, dass Sie die Methode zum Lesen dieses Artikels beherrschen. Weitere spannende Artikel finden Sie auf der chinesischen PHP-Website.

Empfohlene Lektüre:

HTML-Tags mit DOM-Knoten kombinieren

js verbietet Browser-Back-Events

Das obige ist der detaillierte Inhalt vonJS+canvas betreibt GIF-Animationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1273
29
C#-Tutorial
1256
24
Tutorial zur PyCharm-Nutzung: Führt Sie ausführlich durch die Ausführung des Vorgangs Tutorial zur PyCharm-Nutzung: Führt Sie ausführlich durch die Ausführung des Vorgangs Feb 26, 2024 pm 05:51 PM

PyCharm ist eine sehr beliebte integrierte Entwicklungsumgebung (IDE) für Python. Sie bietet eine Fülle von Funktionen und Tools, um die Python-Entwicklung effizienter und komfortabler zu gestalten. Dieser Artikel führt Sie in die grundlegenden Betriebsmethoden von PyCharm ein und stellt spezifische Codebeispiele bereit, um den Lesern einen schnellen Einstieg zu erleichtern und sich mit der Bedienung des Tools vertraut zu machen. 1. Laden Sie PyCharm herunter und installieren Sie es. Zuerst müssen wir zur offiziellen Website von PyCharm gehen (https://www.jetbrains.com/pyc).

Was ist Sudo und warum ist es wichtig? Was ist Sudo und warum ist es wichtig? Feb 21, 2024 pm 07:01 PM

sudo (Superuser-Ausführung) ist ein Schlüsselbefehl in Linux- und Unix-Systemen, der es normalen Benutzern ermöglicht, bestimmte Befehle mit Root-Rechten auszuführen. Die Funktion von sudo spiegelt sich hauptsächlich in den folgenden Aspekten wider: Bereitstellung von Berechtigungskontrolle: sudo erreicht eine strikte Kontrolle über Systemressourcen und sensible Vorgänge, indem es Benutzern erlaubt, vorübergehend Superuser-Berechtigungen zu erhalten. Normale Benutzer können über sudo bei Bedarf nur vorübergehende Berechtigungen erhalten und müssen sich nicht ständig als Superuser anmelden. Verbesserte Sicherheit: Durch die Verwendung von sudo können Sie die Verwendung des Root-Kontos bei Routinevorgängen vermeiden. Die Verwendung des Root-Kontos für alle Vorgänge kann zu unerwarteten Systemschäden führen, da für jeden fehlerhaften oder nachlässigen Vorgang die vollen Berechtigungen gewährt werden. Und

Was tun, wenn Sie vergessen, F2 für das Win10-Startkennwort zu drücken? Was tun, wenn Sie vergessen, F2 für das Win10-Startkennwort zu drücken? Feb 28, 2024 am 08:31 AM

Vermutlich haben viele Benutzer zu Hause mehrere ungenutzte Computer und haben das Einschaltpasswort völlig vergessen, weil sie längere Zeit nicht benutzt wurden. Sie möchten also wissen, was zu tun ist, wenn sie das Passwort vergessen? Dann lasst uns gemeinsam einen Blick darauf werfen. Was tun, wenn Sie vergessen, F2 für das Win10-Startkennwort zu drücken? 1. Drücken Sie den Netzschalter des Computers und drücken Sie dann beim Booten F2 (verschiedene Computermarken haben unterschiedliche Tasten zum Aufrufen des BIOS). 2. Suchen Sie in der BIOS-Schnittstelle nach der Sicherheitsoption (der Speicherort kann je nach Computermarke unterschiedlich sein). Normalerweise im Einstellungsmenü oben. 3. Suchen Sie dann die Option „SupervisorPassword“ und klicken Sie darauf. 4. Zu diesem Zeitpunkt kann der Benutzer sein Passwort sehen und gleichzeitig die Option „Aktiviert“ daneben finden und auf „Dis“ umstellen.

Schritte und Vorsichtsmaßnahmen für die Linux-Bereitstellung Schritte und Vorsichtsmaßnahmen für die Linux-Bereitstellung Mar 14, 2024 pm 03:03 PM

Betriebsschritte und Vorsichtsmaßnahmen für LinuxDeploy LinuxDeploy ist ein leistungsstarkes Tool, mit dem Benutzer schnell verschiedene Linux-Distributionen auf Android-Geräten bereitstellen können, sodass Benutzer ein vollständiges Linux-System auf ihren Mobilgeräten erleben können. In diesem Artikel werden die Betriebsschritte und Vorsichtsmaßnahmen von LinuxDeploy ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, dieses Tool besser zu nutzen. Arbeitsschritte: LinuxDeploy installieren: Zuerst installieren

PHP PDO-Tutorial: Ein Leitfaden für Fortgeschrittene von den Grundlagen bis zur Beherrschung PHP PDO-Tutorial: Ein Leitfaden für Fortgeschrittene von den Grundlagen bis zur Beherrschung Feb 19, 2024 pm 06:30 PM

1. Einführung in PDO PDO ist eine Erweiterungsbibliothek von PHP, die eine objektorientierte Möglichkeit zum Betrieb der Datenbank bietet. PDO unterstützt eine Vielzahl von Datenbanken, einschließlich MySQL, Postgresql, Oracle, SQLServer usw. PDO ermöglicht Entwicklern die Verwendung einer einheitlichen API zum Betrieb verschiedener Datenbanken, wodurch Entwickler problemlos zwischen verschiedenen Datenbanken wechseln können. 2. PDO stellt eine Verbindung zur Datenbank her. Um PDO zum Herstellen einer Verbindung zur Datenbank zu verwenden, müssen Sie zunächst ein PDO-Objekt erstellen. Der Konstruktor des PDO-Objekts erhält drei Parameter: Datenbanktyp, Hostname, Datenbankbenutzername und Passwort. Der folgende Code erstellt beispielsweise ein Objekt, das eine Verbindung zu einer MySQL-Datenbank herstellt: $dsn="mysq

Huawei Mate60 Pro Screenshot-Bedienschritte teilen Huawei Mate60 Pro Screenshot-Bedienschritte teilen Mar 23, 2024 am 11:15 AM

Mit der Beliebtheit von Smartphones ist die Screenshot-Funktion zu einer der wesentlichen Fähigkeiten für die tägliche Nutzung von Mobiltelefonen geworden. Als eines der Flaggschiff-Handys von Huawei hat die Screenshot-Funktion des Huawei Mate60Pro natürlich große Aufmerksamkeit bei den Nutzern auf sich gezogen. Heute werden wir die Screenshot-Bedienungsschritte des Huawei Mate60Pro-Mobiltelefons teilen, damit jeder bequemer Screenshots machen kann. Erstens bietet das Huawei Mate60Pro-Mobiltelefon eine Vielzahl von Screenshot-Methoden, und Sie können die Methode auswählen, die Ihren persönlichen Gewohnheiten entspricht. Im Folgenden finden Sie eine detaillierte Einführung in mehrere häufig verwendete Abfangfunktionen:

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Astar-Absteckprinzip, Einkommensabbau, Airdrop-Projekte und -Strategien sowie Strategie auf Nanny-Ebene Astar-Absteckprinzip, Einkommensabbau, Airdrop-Projekte und -Strategien sowie Strategie auf Nanny-Ebene Jun 25, 2024 pm 07:09 PM

Inhaltsverzeichnis Astar Dapp Staking-Prinzip Staking-Einnahmen Abbau potenzieller Airdrop-Projekte: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap Staking-Strategie und -Betrieb „AstarDapp Staking“ wurde zu Beginn dieses Jahres auf die V3-Version aktualisiert, und es wurden viele Anpassungen an den Staking-Einnahmen vorgenommen Regeln. Derzeit ist der erste Absteckzyklus beendet und der Unterzyklus „Abstimmung“ des zweiten Absteckzyklus hat gerade erst begonnen. Um die „zusätzlichen Prämien“-Vorteile zu erhalten, müssen Sie diese kritische Phase (voraussichtlich bis zum 26. Juni dauernd, mit weniger als 5 verbleibenden Tagen) bewältigen. Ich werde die Astar-Einnahmen im Detail aufschlüsseln,

See all articles