Bilder zerlegen

Demletzt habe ich in mein Impressum eine kleine Spielerei eingebaut. Die Adresse ist nicht als Text hinterlegt, sondern als Bild. Beziehungsweise, als 8 Bilder, die übereinandergelegt das eigentliche Bild ergeben.

Um das umzusetzen, habe ich mir ein kleines Python-Skript gebastelt, das die Grafik für mich aufsplittet und auch gleich dazu noch das passende HTML-Snippet erzeugt.

Hier gibt es das Projekt auf GitHub.

Die Benutzung ist total einfach:

./pngfragments.py [Pfad-zur-Bilddatei] [Anzahl-der-Teilbilder]

Daraufhin wird das Bild geöffnet, die Menge aller nicht-transparenten Pixel wird zufällig auf X etwa gleich große Teilmengen aufgeteilt und aus diesen werden dann im Ordner ‘output’ die Teilbilder erstellt. Zusätzlich wird noch ein passendes HTML-Snippet und eine vollständige HTML-Datei mit diesem Snippet erstellt, mit dem das vollständige Bild dargestellt werden kann.

Je größer die Zahl der Teilbilder gewählt wird, über desto mehr Bilder werden die Pixel verteilt und desto weniger erkennt man logischerweise auch auf den Teilbildern (siehe auch bei den Beispielen)

Technische Daten

Das Skript ist für Python3 geschrieben. Es verarbeitet PNG,- JPEG- und TIFF-Dateien. Für die Grafikbastelei wird die Python Imaging Library (PIL) benutzt, das entsprechende Python-Paket muss also verfügbar sein.

[Update]
By popular demand ist nun auch ein zweites Skript enthalten, mit dem man sich ein Textbild gleich direkt miterstellen kann.

Beispiele

Adresse

Bilder zerlegen
Bilder zerlegen
Bilder zerlegen
Bilder zerlegen
Bilder zerlegen
Bilder zerlegen
Bilder zerlegen
Bilder zerlegen

Teilbilder

Bilder zerlegen

item-0.png

Bilder zerlegen

item-1.png

Bilder zerlegen

item-2.png

Bilder zerlegen

item-3.png

Bilder zerlegen

item-4.png

Bilder zerlegen

item-5.png

Bilder zerlegen

item-6.png

Bilder zerlegen

item-7.png

Avatar

ava.jpg

ava.jpg

Aufteilung in 2 Bilder

ava-0.png

ava-0.png

ava-1.png

ava-1.png

Aufteilung in 4 Bilder

ava-0.png

ava-0.png

ava-1.png

ava-1.png

ava-2.png

ava-2.png

ava-3.png

ava-3.png