On this page:
rotate
scale
flip-horizontal
flip-vertical
crop
frame
6.12

3.4 Kuvien muokkaus

procedure

(rotate asteluku k)  kuva

  asteluku : reaaliluku
  k : kuva
Kiertää kuvaa k annetun määrän asteluku verran vastapäivään.

Examples:
> (rotate 45 (ellipse 60 20 "solid" "purple"))

image

> (rotate 30 (triangle 40 "solid" "red"))

image

procedure

(scale kerroin k)  kuva

  kerroin : positiivinen-reaaliluku
  k : kuva
Skaalaa annetun kuvan k suuremmaksi tai pienemmäksi riippuen siitä mikä kerroin on. Jos kerroin on suurempi kuin 1, kuvan koko suurenee.

Examples:
> (ellipse 20 30 "solid" "blue")

image

> (scale 2 (ellipse 20 30 "solid" "blue"))

image

procedure

(flip-horizontal k)  kuva

  k : kuva
Tekee kuvasta k peilikuvan (vasemmalta oikealle).

Tekstiä sisältäviä (text) kuvia ei tueta, tämä ilmenee virheilmoituksena.

Examples:
> (beside (square 50 "solid" "red")
          (circle 25 "outline" "black"))

image

> (flip-horizontal
   (beside (square 50 "solid" "red")
           (circle 25 "outline" "black")))

image

procedure

(flip-vertical k)  kuva

  k : kuva
Tekee kuvasta k peilikuvan (ylhäältä alas).

Tekstiä sisältäviä (text) kuvia ei tueta, tämä ilmenee virheilmoituksena.

Examples:
> (above (square 50 "solid" "red")
          (circle 25 "outline" "black"))

image

> (flip-vertical
   (above (square 50 "solid" "red")
           (circle 25 "outline" "black")))

image

procedure

(crop x y leveys korkeus k)  kuva

  x : reaaliluku
  y : reaaliluku
  leveys : positiivinen-reaaliluku
  korkeus : positiivinen-reaaliluku
  k : kuva
Rajaa kuvasta k suorakulmion sisään jäävän alueen. Alueen yläkulma sijaitsee pisteessä (x,y) ja sen leveys ja korkeus annetaan.

Examples:
> (crop 0 0 40 40 (circle 40 "solid" "red"))

image

> (crop 40 40 40 40 (circle 40 "solid" "red"))

image

procedure

(frame k)  kuva

  k : kuva
Palautaa kuvan, joka on täysin samanlainen kuin kuva k, mutta siihen sille on lisätty yhden pikselin levyinen musta reuna.

Example:
> (frame (ellipse 40 40 "solid" "pink"))

image

Tämän funktion avulla voidaan debugata yhdistettyjä kuvia, eli nähdä missä kohtaa yksittäinen kuva loppuu.

Example:
> (beside
   (ellipse 20 70 "solid" "lightsteelblue")
   (frame (ellipse 20 50 "solid" "mediumslateblue"))
   (ellipse 20 30 "solid" "slateblue")
   (ellipse 20 10 "solid" "navy"))

image