Page 146 - E-Modul Coding For Kids Berbasis Raspberry Pi
P. 146
Sayangnya, data yang kami unduh tidak dalam bentuk yang dapat digunakan oleh Tkinter,
jadi kami perlu mengonversinya menggunakan base64.encodestring. Anda tidak
perlu memahami cara kerjanya; Sadarilah bahwa itu ada di sana (Jika Anda tertarik dengan
apa yang terjadi di dalam modul, lihatlah http://docs.python.org/2/library/base64.html ).
Terakhir, kami mengubah data menjadi gambar menggunakan Tkinter.FotoGambar
dan mengembalikannya.
Menggunakan Gambar
Sekarang Anda memiliki gambar yang siap digunakan, Anda dapat menampilkannya di
program. Anda dapat menempelkan gambar ke widget label yang sudah Anda miliki,
namun Anda harus menggambar di atasnya nanti, jadi gunakan widget kanvas sebagai
gantinya. Widget kanvas dapat diibaratkan seperti kanvas yang digunakan oleh seniman.
Ini memungkinkan Anda menggambar bentuk dan teks dalam warna apa pun. Saat ini
saya sedang menggambar peta.
Ganti dua baris kode yang menyebutkan widget Label dengan cuplikan kode berikut:
mapimage = getmap(location, width, height, zoom)
canvas = Tkinter.Canvas(window, width=width, height=height)
canvas.create_image(0,0,image=mapimage,anchor=Tkinter.NW)
canvas.pack()
Pertama, kita mendapatkan gambar menggunakan milik kita getmap fungsi. Kami
kemudian membuat Canvas di dalam window kami dengan lebar dan tinggi tertentu. Lalu,
kita menggambar gambar kita di atas Kanvas. Kita katakan bahwa kita ingin sudut barat
laut (NW) dari gambar ditempatkan pada koordinat (0,0) di dalam Kanvas. Sejak arah
barat laut dan koordinat (0,0) keduanya berarti pojok kiri atas, dan Kanvas berukuran
sama dengan gambar, gambar akan memenuhi Kanvas persis. Akhirnya, kami pack
widget Canvas seperti yang kita lakukan dengan widget Label.
Satu hal terakhir yang harus dilakukan adalah memberikan beberapa nilai yang masuk
location, width, height, dan zoom. Kami sudah memiliki nilai untuk lebar dan
135