Piirtokomennot

Tätä kappaletta varten täytyy ensin lukea Laskujärjestys.

Jotta Racketillä voisi piirtää omia kuvia, ohjelman täytyy ladata käyttöön uusi kirjasto kirjoittamalla yläruutuun:

(require 2htdp/image)

Kirjaston lataaminen ei pelkästään vielä tee mitään, mutta se antaa käytettäväksi joukon uusia funktioita, kuten circle, ellipse, line, rectangle ja triangle. Esimerkiksi punaisen ympyrän saa piirrettyä funktiokutsulla:

(circle 20 "solid" "red")
_images/circle-red.png

Toinen argumentti voi olla joko "solid", "outline" tai luku 0 ja 255 välillä.

Muista

Laita require funktion kutsu yläosaan ja paina Run, jotta saat piirtofunktiot käyttöön.

Tehtävä

Kokeile piirtää kaikilla yläpuolella mainituilla piirtofunktioilla.

Kokeile myös mitä tapahtuu, jos käytät "solid" sijasta numeroa.

Monimutkaisempia kuvia voi muodostaa asettamalla kuvia päällekäin funktiolla overlay/offset, jonka tulos on yksi yhdistetty kuva:

(overlay/offset (circle 20 "solid" "red")
                10 10
                (circle 30 "solid" "blue"))
_images/circle-red-blue.png

Kokeile miten toinen ja kolmas argumentti vaikuttavat lopputulokseen!

Tehtävä

Osaatko paksuntaa reunaviivaa piirtämällä ympyröitä päällekäin tähän tapaan:

_images/thick-outline.png

Tehtävä

Valitse kaksi eri maata ja piirrä niiden liput Racketillä.

Tehtävä

Piirrä peruskomentoja käyttäen yksinkertainen kuva autosta käyttäen alussa mainittuja piirtokomentoja.

Vinkki: kannattaa laittaa eri auton osat aluksi eri väreillä, jotta näet paremmin miten ne liikkuvat suhteessa toisiinsa. Monimutkaisempia kuvia kannattaa myös rakentaa ylempään ruutuun, jossa on helppo muokata aikaisempia käskyjä. Alemmassa ruudussa joudut joko kopioimaan ja liittämään vanhoja käskyjä, tai painamaan Ctrl-nuoli ylös.

Kiinnostuitko?

Voit saada lisää värejä käyttöön laittamalla viimeiseksi argumentiksi merkkijonon tilalle funktion make-color kutsun. Voit katsoa esimerkkejä kirjoittamalla make-color, laittamalla kursorin sen päälle, ja painamalla F1.

Katso myös mitä muita komentoja image.rkt -kirjastosta löytyy, sekä vilkaise piirtokomentojen opasta.