Das HTML-Spezifikationsdokument führt das Crossorigin-Attribut für Bilder ein. Durch Festlegen der entsprechenden Header-Informationen CORS können img-Bilder von anderen Websites geladen und in Canvas verwendet werden, als ob sie direkt von der aktuellen Website (aktueller Ursprung) heruntergeladen worden wären. Einzelheiten zur Verwendung des Crossorigin-Attributs finden Sie unter CORS-Einstellungsattribute. Was ist „verunreinigte“ Leinwand? Obwohl es möglich ist, Bilder in der Leinwand ohne CORS-Autorisierung zu verwenden, wird hierdurch die Leinwand beschädigt. Sobald die Leinwand verunreinigt ist, können Sie keine Daten mehr aus der Leinwand extrahieren, was bedeutet, dass Sie keine Methoden wie toBlob(), toDataURL() und getImageData() mehr aufrufen können, da sonst ein Sicherheitsfehler ausgegeben wird. Dies dient dazu, die persönlichen Daten des Benutzers zu schützen und zu verhindern, dass Bildinformationen des Benutzers ohne Erlaubnis von Remote-Websites geladen werden, was zu einem Verstoß gegen die Privatsphäre führen würde.
Beispiel: Bild von anderer Site speichern Zuerst muss der Bildserver den entsprechenden <IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> SetEnvIf Herkunft ":" IS_CORS Header-Satz Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule> Wenn diese Einstellungen wirksam sind, können Sie Bilder von anderen Sites wie Ihre eigenen Ressourcen im DOM-Speicher (oder anderswo) speichern. var img = neues Bild, Leinwand = Dokument.createElement("Leinwand"), ctx = canvas.getContext("2d"), src = "http://example.com/image"; // Spezifische Bildadresse img.crossOrigin = "Anonymous"; img.onload = Funktion() { Leinwand.Breite = Bild.Breite; Leinwandhöhe = Bildhöhe; ctx.drawImage(Bild, 0, 0); localStorage.setItem( "savedImageData", canvas.toDataURL("image/png") ); } img.src = Quelle; // Stellen Sie sicher, dass zwischengespeicherte Bilder auch das Ladeereignis auslösen, wenn ( img.complete || img.complete === undefined ) { img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; img.src = Quelle; } Browserkompatibilität Desktop
Mobile
Siehe auch Chrome: Verwenden von Cross-Origin-Bildern in WebGL HTML-Spezifikation - Crossorigin-Attribut Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
>>: Detailliertes Beispiel zum Einfügen benutzerdefinierter HTML-Datensätze im Quill-Editor
1. Grundkenntnisse (Methoden von Datumsobjekten) ...
Gespeicherte MySQL-Prozedur 1. Erstellen Sie die ...
Vorwort Das einfache Verständnis von MySQL-Berech...
Nach dem Zurücksetzen des Systems hatte die MySQL...
1. Festplattenpartition: 2. fdisk-Partition Wenn ...
In Bezug auf das Nginx-Panikproblem müssen wir zu...
Dieser Artikel enthält die Zusammenfassung des JS...
Inhaltsverzeichnis Dropdown-Feld zur Mehrfachausw...
Im vorherigen Artikel haben Sie Docker Desktop in...
Inhaltsverzeichnis 1. Projektintegration 1. CDN-I...
1. Installieren Sie zuerst Node, Express und Expr...
Inhaltsverzeichnis 1. Zeigen Sie die Speicher-Eng...
Inhaltsverzeichnis Wesentlicher Unterschied Daten...
Inhaltsverzeichnis 1- Fehlerdetails 2-Einzellösun...