Heute möchte ich ein paar grundsätzliche Tipps zum Thema Bilder für das Forum vorbereiten und hochladen geben. Das Ziel: möglichst gute Bildqualität bei möglichst geringen Download-Größen.
In der phpBB2-Software, die hier im BBF verwendet wird, ist verankert, dass Bilder innerhalb des Forums mit einer längeren Kante von maximal 800 Bildpunkten (englisch Pixel als Abkürzung für "Picture Element") dargestellt werden. Ihr könnt also entweder ein Bild in maximal dieser Größe hochladen und in Eure Beiträge einbinden oder müsst größere Bilder als Dateianhang an den Beitrag "ankleben".
Werden größere Bilder in den Beitrag direkt eingebunden, werden diese von der Software auf 800 Pixel gebracht, was unschöne Skalierungs-Effekte hervor rufen kann. Für diejenigen, die ein Bildbearbeitungsprogramm haben, folgen hier ein paar Tipps für die Vorbereitung der Bilder.
Farbtiefe
Rastergrafiken, wie sie hier hochgeladen und angezeigt werden können, haben eine Farbtiefe. Diese beträgt entweder 1 Bit (zwei Farben, das muss nicht schwarz und weiß sein), 4 Bit (3 bis 16 Farben, und auch die sind beliebig), 8 Bit (17 bis 256 beliebige Farben) oder 24 Bit (16,7 Millionen Farben).
Die Bit-Bezeichnung rührt daher, wieviele Bit zur Beschreibung der Farbe eines Pixel benötigt werden. Ein Byte besteht aus 8 Bit. Bei 1 Bit genügt ein Bit je Punkt: 0 ist schwarz, 1 ist weiß. Bei 4 Bit Farbtiefe werden die "unteren" und "oberen" 4 Bit jeweils zur Beschreibung eines Bildpunkts benutzt. Jeweils 4 Bit können Zahlen von 0 bis 15 binär darstellen. Diese Zahlen verweisen auf den Eintrag einer Farb-Palette. Bei 8 Bit = 1 Byte können Zahlenwerte von 0 bis 255 dargestellt werden, also 256 verschiedene einschließlich der 0. Diese Zahlen verweisen wieder auf den Index der Farbe in einer Palette. Bei 24 Bit verweisen je 8 Bit auf den Rot- Grün- und Blauanteil eines Bildpunkts in 256 Abstufungen - es ergibt sich ein "Echtfarb"-Bild mit 16,7 Millionen Farbkombinationen.
Für Graustufen-Bilder (gemeinhin als "Schwarzweiß-Fotos" bezeichnet) genügen 8 Bit, weil diese die Helligkeit der Graustufen bezeichnen. Vorsichtig geschätzt kann das menschliche Auge 64 bis 100 solche Helligkeits-Abstufungen unterscheiden, 256 jedoch nur, wenn sie direkt nebeneinander angezeigt werden.
Grundsätzlich steigt mit zunehmender Farbtiefe auch der Speicherbedarf - bzw. die Download-Zeit - für ein Bild. Diese hängt auch noch vom gewählten Dateiformat ab, in dem die Grafik gespeichert wird. Dazu gleich mehr. Hier erst einmal, was Ihr Eurem Arbeitsspeicher für die Anzeige des Bilds aufbürdet.
Nehmen wir eine Grafik von 600 × 480 Bildpunkten. Diese hat insgesamt 288.000 Bildpunkte. Das macht:
- bei 1 Bit: 36.000 Byte
- bei 4 Bit: 144.000 Byte
- bei 8 Bit: 288.000 Byte
- bei 24 Bit: 864.000 Byte
Hier eine 2 Bit-Grafik (zwei beliebige Farben).
Hier eine 4 Bit-Grafik (16 Farben).
Hier eine 8 Bit-Grafik (256 Farben).
Hier ein 24 Bit-Foto (16,7 Millionen Farben).
Lok Nummer 2 des Frankfurter Feldbahn-Museums mit einem "Illing".
Dateiformat
Mit "Dateiformat" wird eine Art bezeichnet, wie ein Bild gespeichert wird. Dabei gibt es drei grundsätzlich verschiedene Ansätze.
Der schlechteste Ansatz ist das Windows- und OS/2-Bitmap-Format (*.bmp). Da werden bei Echtfarb-Bildern gnadenlos die drei Byte je Echtfarb-Bildpunkt abgespeichert (zuzüglich einem Dateivorspann). Bei "palettisierten" Bildern (1 bis 8 Bit) besteht die Datei aus dem Vorspann mit Informationen zur Bildgröße etc., gefolgt von der Palette und den unkomprimierten Bilddaten.
Daher gilt grundsätzlich: Bilder sollten eigentlich nie in im BMP-Format gespeichert oder gar hochgeladen werden, denn es gibt weitaus bessere Alternativen.
Stellt Euch einmal ein Bild mit 800 × 600 Punkten hier im Forum vor. Da haben wir bei Echtfarbe als Windows-BMP ohne den nur wenige Byte großen Vorspann 1,4 Megabyte Daten.
Unkomprimiert? Komprimiert?
Nehmt einmal an, Ihr habt eine Strichzeichnung angelegt oder (gerade) eingescannt. Das könnte beispielsweise so etwas sein (hier nur ein Ausschnitt einer DIEMA-Feldbahn-Lok):
Rastergrafiken werden meist zeilenweise beschrieben (von unten nach oben oder oben nach unten). Bei der ersten waagerechten Linie der Zeichnung oben liegen 340 schwarze Bildpunkte neben einander. Da ist es ja wohl Unsinn, 340 Mal dieselbe Anweisung in die Datei zu schreiben: "Setze eine schwarzen Punkt". Statt dessen wird eine Kennung geschrieben, dass nun eine Reihenfolge kommt, dann wird z.B. die Anzahl der Wiederholungen gespeichert (340) und zuletzt die Farbe (schwarz) - oder anders herum, was aber keinen Unterschied macht. Statt 170 Byte bei 16 Farben werden maximal 4 Byte benötigt (Zeichen für "Wiederholung", 2 Byte für Zahlen > 255, 1 Byte für den Index der Palette).
Bei einer Zeile sind 166 Byte Einsparung natürlich nicht viel. Aber bei 41 Zeilen weiß kommen da schon 6.806 Byte zusammen. Bleiben wir bei diesem Beispiel.
Als unkomprimierte Windows-BMP (BMP für "Bitmap", Punkte-Karte) benötigt das ganze Bildchen 113 Kilobyte, als komprimierte PNG- (Portable Network Graphics-) Datei wie hier gezeigt 3.787 Byte - immerhin 112.651 eingesparte Byte (110 Kilobyte - ein Kilobyte sind laut Definition 1.024 Byte). Als GIF (Graphics Interchange Format, Unisys / Compuserve) benötigt das Bild 4.908 Byte.
Tipp: Das Dateiformat, in dem das Bild gespeichert werden soll, findet Ihr meist im "Datei speichern als..."-Dialog unten, beschriftet mit "Dateityp", "Format" oder ähnlichem.
Verlustlos? Verlustbehaftet?
Es gibt verlustlose und verlustbehaftete Dateiformate. GIF, PNG oder TIFF komprimieren verlustlos. Das heißt, bei der Kompression der Rohdaten geht keinerlei Information verloren. Das Bild kann beliebig oft nacheinander gespeichert werden - die Qualität bleibt immer gleich. JP[E]G (für "Joint Picture Experts Graphics [Format]") hingegen komprimiert verlustbehaftet. Bei jedem Speichervorgang geht ein Teil der Bildinformation zu Gunsten der Komprimierung und zu Ungunsten der Qualität verloren.
Das stimmt aber genau genommen nur für den ersten Übergang von einem "Raw-Bild" (Original-Daten, "Roh-Bild") zu einem JPG-Bild. Bei jedem erneuten Speichern greift der Kompressions-Algorithmus nicht mehr richtig, weil er die schon komprimierten Daten noch einmal zu komprimieren versucht. Das klappt aber nur schlecht bis gar nicht. Die Folge: Die Qualität sinkt rapide, die Datenmenge steigt plötzlich wieder.
Welches Dateiformat wofür?
Eine Strichzeichnung - sauber eingescannt - oder eine flächige Zeichnung sollten im Bildbearbeitungs-Programm auf 16 bis 256 Farben oder Graustufen (4 bis 8 Bit) herunter gerechnet werden. Hier die Vorgehensweise für Corel Photo Paint:
- Echtfarbbild öffnen.
- Menü "Bild -> Farbformat ändern" -> "Palette (8 Bit)..." oder "Graustufen (8 Bit)" wählen.
- Bei Farbbilder auf dem Reiter "Optionen" unter "Palette" "angepaßt" wählen und unter "Rastern" "Fehlerdiffusion".
Nicht jede Farbe einer Palette mit 256 Einträgen entspricht genau der Farbe eines Punktes bei einem Echtfarbbild. Das fällt jedoch kaum auf, wenn der Fehler auf die benachbarten Bildpunkte verteilt wird. Durch das Verteilen der Fehler wird irgend wann wieder eine halbwegs passende Farbe in der Palette gefunden. Folge: Der farbliche Gesamteindruck stimmt.
Es gibt insgesamt vier Möglichkeiten, Paletten anzuwenden: Eine vorhandene oder optimierte Palette, mit oder ohne Fehlerverteilung englisch ("Error Diffusion"). Hier folgt ein Vergleich der Ergebnisse. Als vorhandene Palette wurde (etwa) diese hier benutzt, die für 99% aller fotorealistischen Bilder bei Fehlerverteilung gute Ergebnisse bringt:
Hochgradig optimierte 256 Farben-Palette, die mit Fehlerverteilung bei fast allen fotorealistischen Bildern gute Ergebnisse bringt.
Wenn Ihr die Farben ohne Fehlerverteilung reduziert, können sich eklige Übergänge bei Farbverläufen bilden. Hier ein Vergleich. Es folgen jeweils das Bild in Originalgröße und ein vergrößerter Ausschnitt der linken, unteren Ecke.
Optimierte 256 Farben-Palette, keine Fehlerverteilung, Gesamtbild.
Optimierte 256 Farben-Palette, keine Fehlerverteilung, Detail.
Optimierte 256 Farben-Palette, Fehlerverteilung, Gesamtbild.
Optimierte 256 Farben-Palette, Fehlerverteilung, Detail.
Vorhandene 256 Farben-Palette (siehe oben), keine Fehlerverteilung, Gesamtbild.
Vorhandene 256 Farben-Palette, keine Fehlerverteilung, Detail.
Vorhandene 256 Farben-Palette, Fehlerverteilung, Gesamtbild.
Vorhandene 256 Farben-Palette, Fehlerverteilung, Detail.
Zurück zum Dateiformat. Bei fotorealistischen Bildern, die auf Eurer Festplatte als Windows-Bitmap, PNG oder TIFF herum dümpeln, bietet sich für das Web eine Konvertierung in das JPG-Format an. Dabei kann die Kompressionsrate eingestellt werden. Zuviel Kompression bringt unakzeptable Ergebnisse in der Qualität, zu wenig zu große Dateien.
Dieser Ausschnitt wurde mit etwa 75 von 100% komprimiert. Die "Artefakte", speziell rote und grüne Schlieren, sind gut zu erkennen. JPG hat außerdem Probleme bei Kontrast-reichen Übergängen und Kanten, da es das Bild in Klötzchen à 8 × 8 Pixel komprimiert. In der Nähe solcher Übergänge sind die Folgen zu hoher Kompression also besonders unangenehm.
Bei diesem Ausschnitt waren es nur 10%. Das Bild wirkt nach wie vor stimmig, die Kompressions-Artefakte sind unauffällig.
Der Unterschied in der Dateigröße beträgt nun aber nicht, wie man meinen könnte, 65%, sondern nur 27,5%.
Bei Graustufen-Bildern fotorealistischer Motive ist JPG ebenfalls eine gute Wahl.
Bei Scans oder Exporten von Strichzeichnungen wie der oben gezeigten Skizze ist PNG bei 256 oder gar nur 16 Farben ideal - es komprimiert verlustfrei und besser als GIF und oft auch besser als JPG.
Hintergründe
Der Hintergrund Eurer Fotos spielt auch eine entscheidende Rolle. Sofern er nicht Inhalts-wichtig ist, kann er wahlweise ausgeschnitten oder zumindest mit einer "abgefederten" Auswahl unscharf gerechnet werden.
Wen interessiert es, wieviele Löcher ich schon in meine Arbeitsplatte gebohrt habe? Keinen! Zwischen diesen beiden Bildern liegen aber durch das Entfernen des Detail-reichen Hintergrunds 30% Dateigröße.
Ein Foto auf einem unruhigen Untergrund - teuer!
Das gleiche Foto, aber mit ausgeschnittenem Hintergrund - billig!
Bei Bilder zeigen meinen Funk-ferngesteuerten Mercedes 170Va (Heller). Elende Gurke .
Deswegen bevorzuge ich es, meine Modellfotos auf einem halbwegs neutralen Verlauf-Hintergrund von Hama zu machen. Das komprimiert gut, und ich kann mir mehr Dateigröße für das Motiv gönnen, ohne ISDN-Nutzer zur Verzweiflung zu treiben .
Bilder hochladen und in Beiträge einbinden
Diese Tipps gab es hier so ähnlich schon mehrfach zu lesen. Eine Wiederholung kann aber nichts schaden.
- Legt Euch für bestimmte Themen ein Album an ("Album Admin" in der Fotogalerie). Ladet Eure Bilder nur in Alben hoch - es gibt kaum eine gute Möglichkeit, sonst Bilder in Beiträge einzubinden. Wenn Ihr "Fotos einfügen" beim Verfassen eines Beitrags wählt, werden Eure Alben ganz oben in der Liste angezeigt.
- Tut allen Forums-Mitglieder einen Gefallen und nennt Euer Bild nicht "dscn0579", wie es aus der DigiCam kommt, sondern beispielsweise "Probemontage Messing-Fahrwerk (1)".
- Bildtitel und -beschreibung lassen sich nach dem Upload zwar noch bearbeiten (Link rechts unten bei der Bildansicht), aber das kann mühsam werden. Prüft daher den Text noch einmal, bevor Ihr "Upload" clickt. Ich habe 99% meiner Tippfehler im BBF in der Galerie .
- Schreibt Eure längeren Beiträge offline und setzt Platzhalter für die Bilder ein. Die Forums-Software fügt den Bilder-Code immer am Ende des Beitrags ein (zumindest bei mir ). Daher kopiere ich mir immer ein Stück Text bis zum nächsten Bild und füge den ein, füge dann das Bild ein und dann weiteren Text, bis ich durch bin. Oder anders herum: Ich füge auf einen Schwipps alle Bilder ein und füge dann den Text dazwischen ein .