lehrkraefte:blc:informatik:glf24:laby:pnm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf24:laby:pnm [2025/05/07 11:17] – [Vorbereitung der Bilder und Export als .pnm mit GIMP] Ivo Blöchligerlehrkraefte:blc:informatik:glf24:laby:pnm [2025/05/22 10:58] (current) – [Einlesen einer pnm-Datei in Python] Ivo Blöchliger
Line 1: Line 1:
 ====== pnm-Bilder ====== ====== pnm-Bilder ======
-  * [[https://de.wikipedia.org/wiki/Portable_Anymap|Details zu diesem Grafik-Format]] 
- 
 <WRAP todo> <WRAP todo>
   * Installieren Sie GIMP auf der Kommandozeile:   * Installieren Sie GIMP auf der Kommandozeile:
 <code bash> <code bash>
-winget install gimp+winget install gimp.gimp.3
 </code> </code>
-  * Mit VS-Code, erstellen Sie von Hand eine Datei mit Namen ''t.pnm'', die ein Farb-Bild mit 3x3 Pixeln enthalten soll. Stellen Sie ein rotes 'T' auf blauem Grund dar.+  * 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.   * 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.+  * Korrigieren Sie allfällige Fehler in Visual Studio Code, speichern Sie die Datei und laden Sie diese neu mit GIMP.
 </WRAP> </WRAP>
  
Line 28: Line 29:
     * Helligkeitsbereich anpassen: Colors -> Levels, dort den linken Schieber der Input-Level nach rechts schieben: {{:lehrkraefte:blc:informatik:glf24:laby:pasted:20250507-101114.png}}     * 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.   * Grösse anpassen: Image -> Scale Image... auf 30x30 Pixel skalieren.
-  * Als ''herz.pnm'' Datei exportieren: File -> Export (oder <key>Ctrl</key><key>e</key>), ASCII-Format wählen.+  * Das Bild als die Datei ''herz.pnm'' ins Verzeichnis ''labyrinth'' exportieren: File -> Export (oder <key>Ctrl</key><key>e</key>), ASCII-Format wählen.
   * Öffnen Sie die Datei ''herz.pnm'' in VS-Code. Gibt es in dieser Datei Überraschungen? Woher kommen diese?   * Öffnen Sie die Datei ''herz.pnm'' in VS-Code. Gibt es in dieser Datei Überraschungen? Woher kommen diese?
 </WRAP> </WRAP>
  
 +===== 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.
  
-===== Einlesen eine pnm-Datei in Python ===== +===== Eigenes Bild ===== 
-Ziel: pnm-Datei Zeile für Zeile lesenDanach als ASCII-Art ausgeben.+Suchen oder entwerfen Sie ein eigenes Bild, das sich als Bild für ein Labyrinth eignetAm 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.
  
  
  
  • lehrkraefte/blc/informatik/glf24/laby/pnm.1746616654.txt.gz
  • Last modified: 2025/05/07 11:17
  • by Ivo Blöchliger