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
Nginx verwendet reguläre Ausdrücke, um Platzhalte...
String-Extraktion ohne Trennzeichen Fragenanforde...
Vorwort PIPE, übersetzt als Pipeline. Angular Pip...
Ich habe gerade am frühen Morgen die Installation...
Inhaltsverzeichnis 1. Routing-Konfiguration 2. Vu...
In diesem Artikel erfahren Sie den spezifischen C...
In diesem Artikel wird der spezifische JavaScript...
Vorwort: In MySQL wird die Funktion CONCAT() verw...
Die Zeit der virtuellen VM Ware-Maschine CentOS s...
Vorwort Bei der Entwicklung statischer Seiten, wi...
Inhaltsverzeichnis App.vue sub1.vue sub2.vue Zusa...
1. Laden Sie das Installationspaket herunter Down...
[LeetCode] 178.Ranglistenergebnisse Schreiben Sie...
Oftmals werden Sie auf einen <a>-Tag-Stil st...
Inhaltsverzeichnis Überprüfung der Object.defineP...