Eine coole Kamera mit reichlich Bruttopixel im Sensor und Auflösungen von z.B. 3648 x 2736 oder mehr liefern die Bilder.
Aber - sie sind in dem Format nicht für das Netz geeignet.
Man kann mit PHP solche Sachen erledigen - aber wozu etwas programmieren wenn es bereits mächtige Werkzeuge gibt die das und noch sehr viel mehr leisten können und die man über PHP ansprechen und steuern kann - z.B. Imagemagick.
Unser Beispielbild bringt 5.481.962 Bytes auf die Waage und ist für das Web viel zu groß.
Aber wegen der Demo verlinken wir einmal das riesige Original:
Schauen Sie es sich einmal an und dann nun die reduzierte Version:
Das Bild liegt im Format 800 x 600 vor und hat 391439 Bytes.
Was auch auffällt - es wirkt sogar schärfer als das Original - tatsächlich wurde es automatisch geschärft.
Mit den Programmsammlungen von Imagemagick ist das alles kein großes Thema - die eigentlichen Funktionen sind alle enthalten und darüber hinaus ist noch eine Menge mehr machbar.
Und - es geht sehr schnell.
Die Programme sind Kommandozeilenversionen wie es unter Linux üblich ist.
Für Windows Nutzer gibt es ebenfalls diese Programme, auch wenn die sich erst einaml daran gewöhnen müssten.
Das aber ist nicht das Thema.
Einer der größten Fallstricke sind unsachgemäß gedrehte Images.
Sie sehen bei normaler Ansicht normal aus sind aber unsachgemäß verarbeitet weil die Bildinformationen bei der Änderung nicht mit geändert werden.
Die Systemprogramme versuchen das aufwendig zu korrigieren die Bildprogramme arbeiten jedoch mit den Informationen.
Dieses Bild z.B. sieht Hochkant aus , soll es auch sein - es wurde unsachgemäß gedreht.
Schaut man es sich aber z.B. über den Firefox als File an dann wird es waagerecht gezeigt - Chrome zeigt es so wie es gedacht ist.
Solche Images bekommt man mit den herkömmlichen Tools nicht sauber reduziert.
Mit Imagemagick besteht die Chance mit dem Parameter -auto-orient die Kameralage aus den Exif Anhang zu detektieren um so doch noch eine korrekt gedrehte Version zu erhalten.
Möchte man eine Bildbreite 800 als Basis haben , dann beinhaltet das neue Bild zwar eine Abmessung von 800 x 533 , wird in Wirklichkeit aber mit einer Breite von 533 und einer Höhe von 800 gezeigt.
Für Webnutzer ist es wichtig Bilder in einer angemessener Größe zu zeigen und NICHT welche via HMTL oder CSS anzupassen - man würde an den gigantischen Bytemengen nichts ändern.
Das Krokodil in 310 er Breite
hat nur noch 76,8 KB statt fast 5,5 MB.
Wer Thumbs benötigt - alle modernen Kameras produzieren ein solches Bildchen und integrieren es in den Exif - Daten - oftmals in der Größe des Kontrollmonitors der Kamera , so auch unser Krokodil:
Man muss es also nur extrahieren was unter PHP mit
$t=exif_thumbnail ($img, $width, $height, $type);
leicht zu bewerkstelligen ist.
Tip:
Man sollte nie gerade aufgenommene Bilder nur wegen der stark verminderten Qualität in der Ansicht gezeigten Thumbnails beurteilen und löschen. Tatsächlich sind die Formate heute derart groß das sich locker aus solchen vermeintlich misslungenen Aufnahmen noch klasse Ergebnisse erreichen lassen. Wie man an dem Thumb des Krokodils erkennen kann sind Details so gut wie nicht sichtbar.
Exif Thumbnails belegen aber auch Speicherplatz. Selbst nach einer Größenwandlung bleiben diese Thumbnails erhalten und können u.U. mehr Bytes beanspruchen als das eigentlich gewandelte Bild selbst.
Entfernt man diese Exif Daten komplett wird unser o.a. Beispiel bei 800 x 600 er Format auf 210338 Bytes reduziert und zwar von 391439 Bytes - was nichts weiter bedeutet das man hier 181101 Bytes eingespart hat. Das ist eine ganze Menge.
So mancher Webdesigner denkt überhaupt nicht an solche Dinge und verpulvert Erfolgschancen, denn klar ist - je weniger übertragen werden muss desto schneller läuft es ab, desto besser die Chancen.
Optimal ist es also bei der Wandlung diese Daten komplett zu entfernen. Entsprechende Parameter für die Imagemagicktools gibt es.
Entfernt man die Exif Tools gleichzeitig mit einer Konvertierung auf ein kleineres Format dann verschwinden auch die Dinge welche durch eine unsachgemäße Drehung verursacht wurden.
Ein solches Bilder würde dann garantiert immer im Querformat statt im Hochformat zu sehen sein.
Eine weitere Möglichkeit bietet Imagemagick mit dem Tool Montage an.
Gerade die Darstellung von Thumbs bei Fotoalben produziert eine stattliche Anzahl von Request's - das bedeutet eine solche Seite wird erheblich langsamer.
Warum also nicht alle Thumbs eines Albums zu einem einzigen Image zusammenfassen und zwar automatisiert:
Und auch da gibt es ein paar nette Varianten:
Imagemagick kann zudem auch noch nebenbei ein Imagemap mit erzeugen.
Videos
Videos lassen sich mit Imagemagick auch in animierte Gif's umsetzen.
Das sei aber nur mit kleinen Sequenzen und auf keinen Fall mit HD Filmchen eine gute Lösung da animierte Gif's erheblich mehr Bytes haben als z.B. ein AVI Film.
Hier ein Beispiel eines auf 25% reduzierten HD Films als animiertes GIF - der Vorteil - es wird kein Videoplayer benötigt, der Nachteil - kein Ton:
Auf Google Drive liegt ein 62 MB großes animiertes Gif zum Download um zu zeigen das man auch komplexe Videos als Gif darstellen kann.
Animierte Gifs statt Video haben dann einen Vorteil
- wenn die Filmsequenz kurz ist (man denke an die Bytes)
- kein Ton benötigt wird
- kein Player zur Verfügung steht (man denke an VPN Netzwerke)
- keine Bedienelemente erwünscht sind
- sich das Video permanent wiederholen soll
Nachteilig wirkt das ein solches Image erst komplett vorhanden sein muss bevor es anläuft - normale Videos werden gestreamt - da fällt es nicht weiter auf.



Keine Kommentare:
Kommentar veröffentlichen