Prikazivanje gotovih slika - zadaci

Naučili smo kako da prikažemo gotovu sliku tako da njen gornji levi ugao bude na zadatoj poziciji na ekranu. U nekim situacijama pozicija gornjeg levog ugla slike neće nam biti poznata, nego će biti potrebno da je izračunamo. U takvim slučajevima može da bude potrebno da znamo i širinu i visinu slike. U Pajtonovoj biblioteci PajGejm za sliku sl, širinu i visinu te slike dobijamo redom kao sl.get_width() i sl.get_height().

Korpe

Dovršite sledeći program, tako da se dobija slika kao u primeru. Pozicije drveća su date, a pored svakog drveta treba nacrtati korpu tako da se donji desni uglovi slike korpe i slike drveta poklapaju.

Da biste mogli da dovršite ovaj zadatak, potrebno je da za svaku nacrtanu korpu izračunate poziciju njenog gornjeg levog ugla, što može da se uradi polazeći od koordinata gornjeg levog ugla drveta, koristeći širine i visine obe slike.

../_images/tree.png ../_images/apple_small.png ../_images/basket.png

Branje jabuka

Dovršite sledeći program, tako da se dobija slika kao u primeru. Rešenje ovog zadatka se dobija dopunjavanjem prethodnog programa, tako da se dodaju jabuke na drveće i u korpe.

Sanduci

Napišite programe koji koriste sliku jednog sanduka prikazanu ispod,

../_images/box.png

i formiraju slike kao u primerima (koristite dugme „Prikaži primer” u svakom od zadataka).

Koordinate slike, to jest njenog gornjeg levog ugla za krajnji levi sanduk su (60, 400), a za najviši sanduk su (420, 115).

Iz datih podataka i slike mogu da se odrede serije x i y koordinata slike svakog sanduka u svakom od primera. Ovde dodatno treba voditi računa i o redosledu iscrtavanja slika kutija.

Da biste bolje razumeli kako ista serija brojeva (na primer 10, 15, 20, 25, 30) može da se dobije u različitim redosledima i na šta pri tome treba obratiti pažnju, odgovorite na pomoćno pitanje.

    Q-67: Uparite serije brojeva sa naredbama koje ih generišu. Pokušajte ponovo!
  • 10, 15, 20, 25, 30
  • for x in range(10, 35, 5)
  • 30, 25, 20, 15, 10
  • for x in range(30, 5, -5)
  • prazna serija
  • for x in range(30, 10, 5)
  • 5, 15, 25
  • for x in range(5, 35, 10)