Contents Previous Next

6.7.2 Werden wir praktisch!

Wir werden ein 100 × 100 Bildelemente großes Bild in ein Grauwert-Bild transformieren.

Dies heißt, dass es 100 × 100 = 10000 zu ändernde Bildelemente gibt. Sie können auf das in diesem Beispiel benutzte Bild an der folgenden Adresse zugreifen:

http://xlogo.tuxfamily.org/pics/transfo.png

Dies ist, wie wir fortfahren werden: Zuerst werden wir uns auf die obere linke Ecke vom Bild beziehen, nämlich 0. Dann wird der Igel die ersten 100 Bildelemente der Anfangszeile, von den ersten 100 der zweiten Zeile gefolgt, prüfen und so weiter. Jedes Mal wird die Farbe des Bildelements mit findefarbe, und die Farbe wird dann verändert zu dem Durchschnitt von den drei [r g b] Werten. Hier ist der dazugehörige Code: (Vergessen Sie nicht, den dateipfad in der Prozedur zu verändern!)

  lerne pixel :list
    # gebe den Durchschnitt der drei Zahlen [r g b] zurück
    setze "r erstes :list
    setze "list ohneerstes :list
    setze "g erstes :list
    setze "list ohneerstes :list
    setze "b erstes :list
    setze "b runde (:r+:g+:b)/3
    rückgabe satz liste :b :b :b
  Ende

Abbildung 6.5: XLogo macht eine Bildretusche....

  lerne grauwert :c
    wenn :y=-100 [stoppe]
    wenn :c=100 [setze "c 0 setze "y :y-1]
    # wir weisen die "Durchschnittsfarbe" des Pixel dem Stift zu
    setzestiftfarbe pixel findefarbe liste :c :y
    # wir verwandeln den Pixel in einen Grauwert
    pixel liste :c :y
    grauwert :c+1
  Ende
  
  lerne transform
    # Sie müssen den Pfad zu dem Bild transfo.png ändern
    # z.B. mit setzeordner "c:\\my_images ladebild "transfo.png]
    löschebild versteckeigel setzeordner "/heim/loic 
    ladebild "transfo.png setze "y 0 grauwert 0
  Ende


Contents Previous Next