====== pnm-Bilder ======
* Installieren Sie GIMP auf der Kommandozeile:
winget install gimp.gimp.3
* Legen Sie ein neues Verzeichnis mit Namen ''labyrinth'' an. 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 [[https://de.wikipedia.org/wiki/Portable_Anymap#Pixmap|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 3x3 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 30x30 als Schwarz-Weiss-Bild im ''.pnm''-Format mit Gimp exportieren: {{lehrkraefte:blc:informatik:glf24:laby:herz.svg?50}}
* Ö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.
* In der Toolbox, unter Layers {{:lehrkraefte:blc:informatik:glf24:laby:pasted:20250507-100257.png}} ganz unten einen neuen Layer mit weissen Hintergrund einfügen.
* 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
* Helligkeitsbereich anpassen: Colors -> Levels, dort den linken Schieber der Input-Level nach rechts schieben: {{:lehrkraefte:blc:informatik:glf24:laby:pasted:20250507-101114.png}}
* Grösse anpassen: Image -> Scale Image... auf 30x30 Pixel skalieren.
* Das Bild als die Datei ''herz.pnm'' ins Verzeichnis ''labyrinth'' exportieren: File -> Export (oder Ctrle), ASCII-Format wählen.
* Öffnen Sie die Datei ''herz.pnm'' in VS-Code. Gibt es in dieser Datei Überraschungen? Woher kommen diese?
===== Einlesen einer pnm-Datei in Python =====
* Falls Sie mit dem iPad unterwegs sind, laden Sie sich das Herzbild als ASCII-codierte pnm-Datei in das Verzeichnis labyrinth: {{lehrkraefte:blc:informatik:glf24:laby:herz.pnm}}
* Speichern die Datei {{lehrkraefte:blc:informatik:glf24:laby:pnmbild.py}} im Verzeichnis ''labyrinth''.
* Öffnen Sie das Verzeichnis ''labyrinth'' in VS-Code (File -> Open Folder).
* Öffnen Sie die Datei ''pnmbild.py'' und führen Sie diese aus. Oben rechts in VS-Code sollte ein Play-Button zu sehen sein: {{:lehrkraefte:blc:informatik:glf24:laby:pasted:20250512-200147.png}}
* 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 20x20 und 50x50 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.py'' in den letzten Zeilen (ab ca. Zeile 94) so an, dass Ihr eigenes Bild geladen wird.