Coretan ini sekedar share penjelasan tentang basic script gambar pada pys60. Ceritanya beberapa waktu yang lalu kang Gulam request deskripsi game, nah karena penjelasan satu game utuh lumayan panjang, jadi saya cicil dikit-dikit, nanti jika saya dapat rejeki pasti saya lunasi (emangnya utang? Hehe...).
Gambar yang dimaksud disini bukan gambar dari file JPEG atau PNG, melainkan gambar berbasis RGB (sering disebut old graphics) dari module graphics. Dan agar lebih praktis, juga karena saya malas upload sepotong-sepotong maka langsung saya bungkus menjadi satu file zip.
Setelah mengutak-atik script diatas, mungkin ada yang masih bingung pada baris2 script menggambar point, bulat kotak, dan line ( pengalaman pribadi :D). Berikut sedikit penjelasannya..
Rectangle dan Ellipse
img.rectangle((100,40,120,80),0x00dddd, fill=0xdd0000)
img.ellipse((100,40,120,80),0x00dddd, fill=0xdd0000)
- angka-angka dalam kurung adalah posisi objek tersebut (posisiX, posisiY, posisiX+lebarObjek, posisiY+tinggiObjek)
- kode yang berada ditengah (0x00dddd) adalah warna garis pinggir objek dalam mode RGB (Red, Green, Blue) 0xRRGGBB. Bisa juga menggunakan mode: (R,G,B). Contoh:
img.ellipse((100,40,120,80),(255,0,0), fill=(255,255,0))
- fill=0xdd0000 adalah warna objek. Jika ingin agar objek yang ditampilkan garis pinggir saja, tidak perlu menggunakan kode ini atau fill=None.
Point
img.point((50,20),0xdddddd, width=10)
Berbeda dengan ellipse, penggambaran point berdasarkan titik kordinat posisi x,y nya, width=10 adalah lebar point.
Line
img.line((60,90,80,70),0x00dd00)
line intinya, membuat sebuah garis yang menghubungkan dua buah titik. Maka pengaturan posisinya: (x1, y1, x2, y2).
Sampai disini dulu. Jika ada yang bingung dengan coretan saya ini, mohon komentarnya.
20 komentar:
pk 0xdd jg bisa ya gan? Tp 0xdd atau 0xaa warnanya sm. Untuk fill klo g pk fill warna fill g t tulis jg bs lho gan.. Misal img.rectangle((10,10),0xdd)
eh salah.. Maksudku img.rectangle((x,y,x+wx,y+wy),0xdd)
0xdd hasilnya sama dengan 0x0000dd. Betul kang, tanpa fill jg bisa, kan udah ku tulis diatas ntu
Bro, gmna mnggmbr bntuk dgn polygon ?? Aku g ngrti nilai2 yg hrus diberi pada polygon
Maaf, saat buat coretan diatas aku belum tau kalau ternyata bisa ngegambar polygon *parah2*, jadi ndak tercantum di coretan hehe... Pengaturan posisinya sama dengan "line" yaitu menghubungkan titik. Perbeaannya line hanya boleh menghubungkan 2 titik, sedangkan polygon dapat menghubungkan lebih dari 2 titik (titikX1,titikY1, titikX2,titikY2, titikX3,titikY3)
apa cuma 3 titik x dan y gan?
Ora mas, tidak ada batasannya. Tp perlu diingat jg semakin banyak titik maka semakin banyak komputasi, efeknya program jadi berat. Apalagi program graphics tergolong program berat, dan kinerja pys60 (terutama pada hp2 lama) lumayan lelet. Jadi optimasi harus extra *sok expert, padahal rapatek mudeng hehe...*
hm.. Berarti iso gw segi sepuluh dong.. Pokok g tmbah mumet ae.. Haha..
Iso kang, gw gbr bemo barang kn yo iso hehe
lek bemo lha sing mlengkung piye gan?
Mtur nuhun mas..
Pnting knggo newbi ky aq,, sin rep blajar modul grapik..
@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
@metalizer: sami2 mas, mtur nuwun ampirane hehe...
@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
@metalizer: sami2 mas, mtur nuwun ampirane hehe...
mantaapp..muter2 nang ndi2, sing iso rodo paham yo ndk blog'é tigan iki. Sampean guru ta kang? Hehe
@mas jagad, Q yo drung patek mudeng.. Soale aku murid hehe..
abah tigan gak bahas oop? Aku bingung klo bc yg bahasanya bahasa walanda bin linggis2 gt..
Wadoh abah, aku blum brani bahas, masih belum bisa buat program dgn oop yang trstruktur. Awas2, class & self bukan berarti oop lho kang, namun sebagai pembungkus fungsi2 oop. Iki penjelasan oop scara global http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
wealah.. T kira self canvas termasuk oop.. Terus, biar g salah kaprah kasih postingan ae gan..
Ok kang
Posting Komentar