This is an old revision of the document!
pnm-Bilder
- Installieren Sie GIMP auf der Kommandozeile:
winget install gimp.gimp.3
- Legen Sie ein neues Verzeichnis mit Namen
labyrinthan. Speichern im Folgenden alle Datein in diesem Verzeichnis. - Studieren Sie die Erklärungen zum PNM-Format, speziell das Pixmap-Format (ASCII Portable Pixmap, P3-Format) auf der entsprechenden Wikipedia Seite.
- Mit VS-Code, erstellen Sie eine Datei mit Namen
t.pnm - Erstellen in der Datei
t.pnm«von Hand» eine ASCII Portable Pixmap (P3 Format), die ein Farb-Bild mit 3×3 Pixeln enthalten soll. Stellen Sie ein rotes 'T' auf blauem Grund dar. - Speichern Sie Ihre Datei und öffnen Sie diese mit GIMP und vergrössern Sie das Bild, damit die einzelnen Pixel auch gut sichtbar sind.
- Korrigieren Sie allfällige Fehler in Visual Studio Code, speichern Sie die Datei und laden Sie diese neu mit GIMP.
Vorbereitung der Bilder und Export als .pnm mit GIMP
Ziel: Folgendes Bild in der Auflösung 30×30 als Schwarz-Weiss-Bild im .pnm-Format mit Gimp exportieren:
- Öffnen Sie das Herz-Bild mit GIMP. Dazu gibt es verschiedene Möglichkeiten, z.B.
- Kopieren, einfügen.
- Speichern, öffnen.
- Konvertierung zu schwarz/weiss:
- Fügen Sie einen weissen Hintergrund ein:
- Toolbox öffnen mit CtrlB.
- Den weissen Layer nach hinten verschieben, damit das rote Herz wieder sichtbar ist.
- Layer vereinigen: Image → Merge visible Layer oder CtrlM.
- Graustufenbild: Colors → Desaturate → Desaturate
- Grösse anpassen: Image → Scale Image… auf 30×30 Pixel skalieren.
- Das Bild als die Datei
herz.pnmins Verzeichnislabyrinthexportieren: File → Export (oder CtrlE), ASCII-Format wählen. - Öffnen Sie die Datei
herz.pnmin VS-Code. Gibt es in dieser Datei Überraschungen? Woher kommen diese?
Einlesen einer pnm-Datei in Python
- Falls Sie mit dem iPad unterwegs sind: herz.pnm
- Speichern die Datei pnmbild.py im Verzeichnis
labyrinth. - Öffnen Sie das Verzeichnis
labyrinthin VS-Code (File → Open Folder). - Öffnen Sie die Datei
pnmbild.pyund führen Sie diese aus. Oben rechts in VS-Code sollte ein Play-Button zu sehen sein:
- Ist kein Play-Button sichtbar, installieren Sie in VS-Code die vorgeschlagene Python-Erweiterung.
- Wenn alles klappt, sollte das Bild als ASCII-Art im Terminal von VS-Code erscheinen.
Das Bild wird automatisch auf schwarz=0/weiss=1 umgerechnet. Das Bild als Liste wird ebenfalls ausgegeben. Im Terminal werden weisse Pixel als Leerschlag, schwarze als # dargestellt.
Eigenes Bild
Suchen oder entwerfen Sie ein eigenes Bild, das sich als Bild für ein Labyrinth eignet. Am Schluss müssen folgende Bedingungen erfüllt sein:
- Ihr Bild ist als .pnm Bild (ASCII Format) gespeichert.
- Die Auflösung des Bildes sollte zwischen 20×20 und 50×50 sein, ideal ist ein Seitenverhältnis von 8:13 (A4-Blatt mit 2cm Rand).
- Die schwarze Fläche muss vollständig zusammenhängend sein und an mindestens zwei Orten bis an den Rand gehen, idealerweise auf gegenüberliegenden Seiten.
- Die schwarze Fläche darf nicht zu filigran sein und muss überall mindestens 2 Pixel «dick» sein.
- Passen Sie das Python-Programm
pnmbild.pyin den letzten Zeilen (ab ca. Zeile 94) so an, dass Ihr eigenes Bild geladen wird.

