Wie versprochen habe ich mir die Grid-Bibliothek der Knotenschachtel für mein nächstes Nodebox-Experiment vorgenommen. Als Hommage an den aktuellen Künstler des Monats im Schockwellenreiter – W. W. Denslow – habe ich Illustrationen von ihm in ein Gitter gepreßt.
Da die Grid-Bibliothek einem nahezu jede Arbeit abnimmt, ist der Quellcode wieder sehr kurz geraten:
size(600, 600)
grid = ximport("grid")
from random import shuffle
images = files("images/*.jpg")
g = grid.create(2, 2, WIDTH, HEIGHT)
g.top.left.split(2, 2)
g.top.left.bottom.right.split(2, 2)
shuffle(images)
g.content = images
g.content.repeat = True
g.styles.margin = 1
g.styles.fit = True
g.styles.align = "center", "bottom"
g.draw()
Die beste Erklärung, wie die Grid-Bibliothek funtioniert, findet Ihr auf den Seiten von PlotDevice, wobei die Bibliothek mit PlotDevice ironischerweise nicht funktioniert.
Ansonsten ist nur noch die (Nodebox-eigene) Funktion files()
bemerkenswert, die alle gefundenen Dateinamen aus dem übergebenden Pfad (mit Filter) als Liste zurückgibt. Ich habe dort alle Bilder – aktuell siebzehn – abgelegt. Mit shuffle()
wird diese Liste gemischt, so daß bei jedem Aufruf des Skriptes eine zufällige Auswahl der Bilder in einer zufälligen Reihenfolge angezeigt wird. Das ist doch schon ganz schön viel für diese wenigen Zeilen Python.
Wer das nachprogrammieren möchte, den Quellcode und die Bilder gibt es natürlich wieder in meinem GitHub-Repositorium. Aber Ihr könnt natürlich auch mit eigenen Bildern experimentieren. Die Methode fit
der Grid-Bibliothek quetscht sie schon ins Gitter – sie sollten nur annähernd quadratisch sein (oder Ihr paßt die Rechtecke des Gitters entsprechend den Proportionen Eurer Bilder an).
Die Bibliothek bietet noch etliche, weitere Funtionen bis hin zu einer kleinen, eingebauten Tabellenkalkulation. Schaun wir mal, was mir dazu noch einfällt. Still digging!
PS: Warum die Konsole mir allerdings bei jedem Durchlauf data <class 'list'>
mitteilt, habe ich noch nicht herausbekommen.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung
Diese Spalte wurde absichtlich leergelassen!