Global User Interface
GUI
ImageViewer
Program ImageViewer adalah aplikasi Java berbasis Swing untuk menampilkan dan memodifikasi gambar sederhana.
Komponen Utama:
JFrame: Jendela utama aplikasi.ImagePanel: Panel untuk menampilkan gambar.- Menu:
- File: Membuka, menutup, atau keluar dari aplikasi.
- Filter: Efek gelap (darker) dan terang (lighter).
- Help: Menampilkan informasi aplikasi.
Fitur Utama:
- Buka File: Memuat gambar menggunakan
JFileChooser. - Edit Gambar: Efek gelap/terang melalui metode
darkerdanlighter(menggunakanOFImage). - Tutup Gambar: Menghapus gambar dari tampilan.
- Keluar: Menutup aplikasi.
- Buka File: Memuat gambar menggunakan
Alur Kerja:
- Program memulai dengan
main, membuat antarmuka GUI, lalu menunggu input pengguna melalui menu.
ImageFileManager
Kode di atas adalah bagian dari kelas ImageFileManager yang bertanggung jawab untuk memuat file gambar ke dalam aplikasi:
Fungsi Utama:
loadImage: Membaca file gambar dari disk menggunakanImageIO.readdan mengubahnya menjadi objekOFImage.
Parameter dan Pengembalian:
- Parameter:
File file- file gambar yang akan dimuat. - Return: Mengembalikan objek
OFImage, representasi gambar yang bisa diproses lebih lanjut.
- Parameter:
Pengecualian:
- Melempar
Exceptionjika file tidak ditemukan atau formatnya tidak valid.
- Melempar
Kode ini memungkinkan aplikasi memuat gambar dalam format yang didukung (misalnya, JPEG, PNG).
ImagePanel
Kode di atas mendefinisikan kelas ImagePanel, turunan dari JPanel, yang digunakan untuk menampilkan gambar dalam aplikasi.
Atribut:
image: ObjekOFImageyang menyimpan gambar yang akan ditampilkan.
Metode Utama:
setImage: Mengatur gambar yang akan ditampilkan dan me-refresh panel denganrepaint().clearImage: Menghapus gambar (mengaturimagekenull) dan me-refresh panel.
Override:
paintComponent:- Memanggil implementasi bawaan (
super.paintComponent) untuk membersihkan panel. - Jika ada gambar (
imagetidak null), menggambar gambar tersebut di posisi (0, 0) pada panel.
- Memanggil implementasi bawaan (
OFImage
Kode di atas mendefinisikan kelas OFImage, yang memperluas BufferedImage, dengan kemampuan tambahan untuk mengubah kecerahan gambar.
Fungsi Utama:
Konstruktor:
- Membuat objek
OFImagedariBufferedImagedengan dimensi dan tipe yang sama. - Menyalin isi gambar dari objek
BufferedImagekeOFImage.
- Membuat objek
Metode:
darker:- Mengurangi intensitas warna setiap piksel (merah, hijau, biru) sebesar 20% (dikalikan 0.8), menghasilkan gambar yang lebih gelap.
lighter:- Meningkatkan intensitas warna setiap piksel hingga 20% (dikalikan 1.2), dengan batas maksimum 255, menghasilkan gambar lebih terang.
Output:







Komentar
Posting Komentar