Dieser Artikel darf gerne geteilt und zusammengefasst werden. Es ist nicht erforderlich, den vollständigen Text erneut abzudrucken. Bitte respektieren Sie das Urheberrecht. Der Kreis ist so klein. Wenn Sie ihn dringend benötigen, können Sie uns für eine Genehmigung kontaktieren. 1. PNG-Bilder, die nicht weiter komprimiert werden können Beispielsweise ist das unten gezeigte PNG-Bild (in halber Größe dargestellt) nach der Komprimierung mit den besten PNG-Tools immer noch 122 KB groß. Die Adresse des Originalbildes lautet: https://image.zhangxinxu.com/image/blog/202005/card.png Die PNG-Größe ist wie folgt: Wenn das Projekt nur ein solches Bild hat, ist das in Ordnung. Wenn sich jedoch viele PNGs dieser Größe gleichzeitig auf der Seite befinden, sind die Leistungseinbußen beim ersten Laden sehr deutlich. Beispielsweise sind die vier Kartenbilder in der Abbildung unten 500 KB groß. Da der Hintergrund der Karte ebenfalls eine komplexe Grafik ist, müssen die Kanten und Ecken transparent sein. Eine Konvertierung ins JPG-Format wird definitiv nicht funktionieren (die Kanten und Ecken werden einfarbig). Gibt es keine Möglichkeit, das noch weiter zu optimieren? Ja, das heißt, die Größe von PNG-Bildern mit Hilfe einer CSS-Maske lässt sich deutlich optimieren. 2. Maskenbild- und PNG-Größenoptimierung Die Methode ist durchführbar, die Demo gibt es hier. Die einzelnen Schritte sind wie folgt. 1. PNG in JPG konvertieren Speichern Sie zunächst das PNG-Bild als JPG. 50 % der Bildqualität reichen aus, wie unten gezeigt: An dieser Stelle kann die Bildgröße um mehr als 50 % reduziert werden! 2. Erstellen Sie ein einfarbiges PNG basierend auf der PNG-Kontur Der Grund, warum PNG-Bilder groß sind, liegt darin, dass die Farben zu kräftig sind. Wenn wir sie in Volltonfarben umwandeln, kann die Größe um mehr als das Hundertfache reduziert werden. Derzeit beträgt die Größe des rein schwarz gefüllten PNG-Bildes weniger als 1 KB: 3. Verwenden Sie eine Maske, um die JPG-Ecken weiß und transparent zu machen Vorausgesetzt, das JPG-Kartenbild verwendet das Element <img src="Karte.jpg"> Verwenden Sie den folgenden CSS-Code: img { -webkit-mask-image: URL (Kartenmaske.png); Maskenbild: URL (Kartenmaske.png); } Sie können denselben Effekt wie mit dem ursprünglichen 122K-PNG-Bild erzielen, mit transparenten Ecken und kleinerer Größe. Da die vier Ecken von card-mask.png transparent sind, werden die Ecken ebenfalls transparent, nachdem card.jpg card-mask.png als Maskenbild angewendet hat. 4. Domänenübergreifende Einschränkungen für Maskenbilder Mit dem Sicherheitsupgrade von Chrome und anderen Browsern gibt es derzeit domänenübergreifende Zugriffsbeschränkungen für Maskenbilder und es werden Fehlermeldungen ähnlich der folgenden angezeigt:
Wir können das Bild der Vollfarbmaske beispielsweise in das Base64-Format konvertieren:
Sehen heißt glauben. Klicken Sie hier: Demo zur Optimierung der PNG-Bildgröße mithilfe der CSS-Maske Der endgültige Effekt der Karte im JPG-Format ist in der folgenden Abbildung dargestellt (die vier Ecken sind transparent): 3. Vergleich optimierter Effekte Der Größenvergleich der vier Bilder vor und nach der Optimierung sieht wie folgt aus: Die Originalgröße der 4 Bilder beträgt 458 K, und die optimierte Bildgröße beträgt 197 K+1 K, was einer Größenreduzierung von 56,8 % entspricht! Schwul~ Zusammenfassen Dies ist das Ende dieses Artikels darüber, wie man die Größe von PNG-Bildern mithilfe von CSS-Masken deutlich optimieren kann. Weitere relevante CSS-Maskeninhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! |
<<: Praktische Erfahrung bei der Optimierung von MySQL-Tabellen mit mehreren zehn Millionen Daten
Vorne geschrieben Kürzlich berichtete mir ein Les...
Um die Wartung von MySQL zu erleichtern, wurde ei...
In diesem Artikel wird hauptsächlich der Beispiel...
Nachdem textarea input in Element UI auf automati...
Originalartikel: Ultimatives IE6-Cheatsheet: So b...
1. Ziehen Sie das Redis-Image docker pull redis 2...
Heute werde ich den Server nginx verwenden und mu...
Inhaltsverzeichnis Überblick Erste Schritte mit D...
Nginx ist ein leistungsstarker, leistungsstarker ...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort Die Rolle des Schlüsse...
Inhaltsverzeichnis 1. Kommunikation zwischen Vate...
Das Temperament einer Web-Frontend-Website ist ein...
Ich habe meiner persönlichen Website vor Kurzem e...
Inhaltsverzeichnis 1. Wirkungsdiagramm (mehrere S...