Disini kita membuat tipe data dengan
masing – masing fungsi
1. PImage gambar -> digunakan untuk mengambil gambar asli
2. PImage simpanGambar -> digunakan untuk menyimpan
gambar yang sudah menjadi sephia
3. String pathgambar -> digunakan untuk mengambil lokasi
dari gambar asli
4. Int nosimpan=1 -> digunakan untuk penomoran nama
gambar yang disimpan dimulai dari no.1
5. Boolean flag=false -> digunakan untuk pengecekan
apakah ada gambar shepia yang sudah
dibuat sebelum disimpan.
6. Di prosedur setup terdapat Size (1150,550) -> untuk
membuat form sepanjang 1150 x 550
pixels dengan background warna putih ->
background(255).
7. Didalam prosedur draw(), kita membuat garis sebagai pembentuk
header dengan ukuran
1000x50 pixels dibagi menjadi 2 header dan bingkai gambar
sebesar 1000x500 pixels dibagi
menjadi 2 bingkai. Di dalam kotak header kita
tulis text “Gambar Asli” pada posisi (200,25)
dan text “Gambar Hasil Editing”
pada posisi (670,25). Keduanya bertipe huruf “Arial” dan
berukuran 20 berwarna
hitam, serta aligmentnya rata kiri pada horizontalnya dan rata tengah di
vertikalnya.
Preview
gambarnya :
8. Di prosedur draw() kita buat 3 kotak dengan
ukuran 100x30 pixels pada posisi kotak ke-1
(1030,60), kotak ke-2 (1030,110),
kotak ke-3 (1030,160) dengan warna abu-abu. Kemudian
kita membuat tulisan pada
masing-masing kotak, untuk kotak ke-1 bertuliskan “Pilih Gambar”
di posisi
(1040,74), kotak ke-2 bertuliskan “Ubah Shepia” di posisi (1040,124), kotak ke-3
bertuliskan “Simpan
Gambar” di posisi (1040,174). Ketiga Text bertipe “Arial” berukuran 12
dan
berwarna kuning, untuk aligment rata kiri di horizontal dan rata tengah di
vertikal.
Preview :
9. Di prosedur draw() kita beri kondisi jika pathgambar
tidak sama dengan “null / kosong”, maka
ambil gambar dari pathgambar yang
tersimpan. Kemudian tampilkan pada pada jendela di
bingkai ke-1, dengan letak
(0,50) dan berukuran 500x500 pixels. Apabila pathgambar sama
dengan “null /
kosong” maka tidak melakukan apa-apa.
10. Pada prosedur mousePressed() / ketika mouse di klik, jika
letak koordinat x pada mouse
terletak antara 1030<x<1130, maka lakukan
hal berikut dibawah ini. Kondisi pertama jika
koordinat y pada mouse terletak
antara 60<y<90 / atau dapat dikatakan mouse terletak antara
(1031,61)
hingga (1131,89) yaitu kotak ke-1 maka lakukan pemilihan file gambar dengan
prosedure selectInput (prompt,callback) dimana prompt berisi string untuk
keterangan user,
dan callback berisi string untuk memanggil fungsi. Disini
prompt bertuliskan “Pilih gambar”
dan callback memanggil fungsi “fileSelected”.
11. Disini fungsi fileSelected() dipanggil, jika ada file
yang dipilih atau selection bukan sama
dengan “null” maka akan mengambil alamat
dari gambar yang dipilih tersebut dan disimpan
dalam variabel pathgambar, maka
kondisi di prosedur draw() pathgambar bukan sama dengan
“null” dan gambar akan
ditampilkan dan diletakkan pada bingkai ke-1.
Preview :
a.
Kotak ke-1 ketika diklik
b.
File gambar dipilih
c.
File ditampilkan pada bingkai ke-1
Code berikutnya
:
12. Pada kondisi ke-2 pada prosedur mousePressed() / mouse
ketika diklik, jika koordinat y pada
mouse terletak antara 110<y<140 /
atau dapat dikatakan mouse terletak antara (1031,111)
hingga (1131,139) maka akan
dilakukan kondisi pertama jika pathgambar==null / tidak ada isi
di variabel
pathgambar maka tampilkan pesan dalam bentuk box dengan tulisan “Pilih gambar
terlebih dahulu!!”. Jika kondisi ke-2
atau pathgambar bukan sama dengan null yaitu
pathgambar ada isi alamat gambar,
maka lakukan :
1.
Flag dari false berubah menjadi true sebagai penanda
bahwa ada gambar yang dirubah ke shepia.
2.
Membuat image baru dengan nama fotoOlahan yang berukuran
sama dengan gambar asli (width,height, RGB) dan sewarna.
3.
Membuat looping untuk mendapatkan pixel (x,y) dari gambar asli dengan
variabel “i” sebagai “x” dan variabel “j” sebagai “y”. Kemudian menyimpan warna
gambar asli per pixel (x,y) kedalam variabel warnaAsli dengan tipe “color”.
Lalu membentuk 3 element warna dengan tipe float dimana element ke-1 yaitu
merahBaru didapat dari warna merah dari warnaAsli dikali 0.393 kemudian
ditambah dengan warna hijau dari warnaAsli dikali 0.769 kemudian ditambah
dengan warna biru dari warnaAsli dikali 0.189. Element ke-2 yaitu hijauBaru didapat
dari warna merah dari warnaAsli dikali 0.349 kemudian ditambah dengan warna
hijau dari warnaAsli dikali 0.686 kemudian ditambah dengan warna biru dari
warnaAsli dikali 0.168. Element ke-2 yaitu biruBaru didapat dari warna merah
dari warnaAsli dikali 0.272 kemudian ditambah dengan warna hijau dari warnaAsli
dikali 0.534 kemudian ditambah dengan warna biru dari warnaAsli dikali 0.131.
4.
Setelah ketika 3 element terbentuk (R,G,B) maka membuat
warna yang baru bernama warnaOlah bertipe color yang terdiri dari elemet R/red
dari element merahBaru, element G/green dari element hijauBaru dan element
B/blue dari element biruBaru dan ketiganya dibatasi apabila >255 maka
disetel menjadi 255.
5.
Kemudian mensetting gambar baru yaitu fotoOlahan dengan
komponen titik koordinat pixel (x,y) yaitu didapat dari (i,j) dan warna RGBnya
didapat dari warnaOlah.
6.
Dilakukan looping dengan perlakuan yang sama hingga
sesuai ukuran pixel gambar asli.
7.
Setelah looping selesai maka menampilkan gambar baru
fotoOlahan di bingkai ke-2 pada koordinat (500,50) dan ukuran 500x500 pixels,
lalu membuat gambar baru lagi simpanGambar untuk persiapan jika fotoOlahan yang
sudah menjadi shepia ingin disimpan. Gambar baru tersebut seukuran dan sewarna
dengan fotoOlahan.
Preview :
13. Pada kondisi ketiga pada prosedur mousePressed() / ketika
mouse diklik, jika koordinat y
pada mouse terletak antara 160<y<190 /
atau dapat dikatakan mouse terletak antara
(1031,161) hingga (1131,189) maka
akan dilakukan kondisi pertama, jika flag=true (tanda
jika telah ada pengeditan
shepia) maka lakukan penyimpanan pada gambar baru
simpanGambar di dalam folder
gambar simpanan dan dinamai dengan
Gambar_(nosimpan).jpg, dimana nosimpan
adalah variabel integer dengan default 1 dan akan
bertambah +1 setiap melakukan
penyimpanan gambar. Lalu tampilkan pesan box jika gambar
telah berhasil
disimpan. Pada kondisi kedua yaitu flag=false / tidak ada gambar yang diedit
maka munculkan pesan box dengan pesan “Ubah Gambar ke bentuk shepia dahulu!!”.
14. Untuk preview dan code asli kami taruh dibawah, Sekian
penjelasan code program dari
kelompok kami, untuk perhatiannya kami ucapkan
terima kasih.
Preview :
A.
Filter ketika kotak “Ubah Shepia” diklik tanpa memilih
gambar.
B.
Filter ketika kotak “Simpan Gambar” diklik tanpa mengubah
gambar ke shepia dahulu.
C.
Hasil gambar ke-1 yang sudah di shepia
D.
Tampilan gambar yang telah disimpan
E.
Hasil gambar yang telah disimpan
F.
Hasil gambar ke-2 yang sudah di shepia
G.
Hasil gambar ke-3 yang sudah di shepia
H.
Hasil 3 gambar yang telah disimpan
Download Code Lengkapnya :
0 Komentar