Citra dalam Delphi
Citra dalam Delphi Kartika Firdausy - UAD
[email protected] blog.uad.ac.id/kartikaf
Setelah mempelajari materi ini, mahasiswa diharapkan mampu:
menjelaskan dan mengimplementasikan pembuatan program penampil citra dalam Delphi
Teknik Pengolahan Citra
1
Citra dalam Delphi
Komponen TImage
Delphi tidak menyediakan secara khusus rutin-rutin untuk pengolahan citra, oleh karena itu perlu dibuat sendiri program untuk mengolah citra. Namun Delphi telah menyediakan sarana untuk menampilkan citra, yaitu melalui komponen TImage yang terdapat pada palet komponen Additional. Komponen ini memiliki properti Picture yang digunakan untuk menyimpan data citra. Citra yang akan ditampilkan diambil dari file gambar yang dapat ditentukan pada saat mendesain dengan cara mengisi nilai properti ini, atau pada saat program dijalankan dengan menggunakan prosedur LoadFromFile.
Subproperti yang penting pada Picture antara lain adalah: Height, berisi nilai tinggi citra Width, berisi nilai lebar citra Bitmap, berisi data format dan piksel citra. Pada materi ini pengolahan dilakukan terhadap nilai-nilai piksel pada Bitmap.
Teknik Pengolahan Citra
2
Citra dalam Delphi
Dalam Delphi, informasi format citra terdapat pada subproperti Bitmap, yaitu PixelFormat, dengan nilai seperti tercantum pada Tabel Nilai
Format citra
pf1bit
Citra biner/monokrom
pf8bit
Citra skala keabuan. Sebenarnya nilai pf8bit adalah untuk citra warna berindeks 8 bit. Namun dalam buku ini, citra skala keabuan direpresentasikan sebagai citra berindeks 8 bit dengan komponen palet warna merah, hijau dan biru yang bernilai sama, sehingga menampilkan warna keabuan dari hitam sampai putih.
pf24bit
Citra true color (16 juta warna)
Program Penampil Citra Pada bagian ini akan dibuat contoh program sederhana untuk menampilkan sebuah citra yang diambil dari file berekstensi BMP. Pengambilan gambar dilakukan dengan menggunakan komponen TOpenPictureDialog yang terdapat pada palet komponen Dialogs. Komponen ini mempermudah kita dalam memilih file citra yang akan ditampilkan karena memiliki fasilitas preview. Citra ditampilkan pada sebuah window anak. 1. 2. 3.
Buatlah project baru. Simpan form dengan memilih menu File-Save As..., dan mengisi file name = UnitUtama Ubah ukuran form
Teknik Pengolahan Citra
3
Citra dalam Delphi
4.
Ubah nama Form1 menjadi FormUtama dan tambahkan komponen berikut serta ubahlah nilai-nilai propertinya. ButtonAmbilCitra ditaruh di atas PanelAtas.
Komponen TForm
TPanel TStatusBar
TButton
Properti
Nilai
Name
FormUtama
Caption
Penampil Citra
FormStyle
fsMDIForm
Position
poDefaultPosOnly
Name
PanelAtas
Align
alTop
Name
StatusBar
Align
alBottom
SimplePanel
True
Name
ButtonAmbilCitra
Caption TOpenPicture Name Dialog Filter InitialDir
Teknik Pengolahan Citra
&Ambil citra OpenPictureDialog Bitmaps (*.bmp)|*.bmp .
4
Citra dalam Delphi
Tampilan
5.
6.
Buat form baru, yang digunakan sebagai window anak untuk menempatkan citra yang akan ditampilkan, dengan memilih menu FileNew-Form. Ubah nama form tersebut menjadi FormCitra dan tambahkan komponen TImage dari palet komponen Additional sesuai dengan Gambar
Teknik Pengolahan Citra
5
Citra dalam Delphi
Komponen TForm
TImage
Properti
Nilai
Name
FormCitra
Caption
Citra
FormStyle
fsMDIChild
Name
Image
AutoSize
True
Center
True
Form anak untuk menampilkan citra
Teknik Pengolahan Citra
6
Citra dalam Delphi
7. 8.
Simpan form ini dengan memilih menu File-Save As..., dan mengisi file name = UnitCitra Form anak ini hanya akan ditampilkan ketika file citra sudah diambil. Secara default, Delphi akan membuat dan menampilkan form yang ada. Untuk mencegah Delphi secara otomatis membuat FormCitra, jalankan menu Project-Options... , kemudian pilih FormCitra pada kotak Auto-create forms dan tekan tombol > sehingga FormCitra pindah ke kotak Available forms, seperti terlihat dalam Gambar
Dialog Project Options
Teknik Pengolahan Citra
7
Citra dalam Delphi
9.
Klik kembali pada FormUtama dan pilih menu File-Use Unit.... Pada Dialog Use Unit, pilih UnitCitra dan tekan tombol OK. (pastikan bahwa sudah ada tulisan uses UnitCitra; di bawah keyword implementation): implementation uses UnitCitra; {$R *.dfm}
10.
Buat event handler OnClick pada ButtonAmbilCitra (dengan cara mendobel klik pada ButtonAmbilCitra). Mula-mula definisikan variabel untuk menampung tulisan jenis format citra (biner, keabuan, atau true color): procedure TFormUtama.ButtonAmbilCitraClick(Sender: TObject); var fc: string;
Pengambilan gambar hanya akan dilakukan apabila kita tidak membatalkan pemilihan file dalam OpenPictureDialog, atau dengan kata lain OpenPictureDialog jadi dieksekusi. Yang mula-mula dilakukan adalah membuat FormCitra sebagai tempat untuk menampilkan citra dengan menggunakan fungsi Application.CreateForm. begin if (OpenPictureDialog.Execute) then begin if (FormCitra = nil) then Application.CreateForm(TFormCitra, FormCitra);
Teknik Pengolahan Citra
8
Citra dalam Delphi
Kemudian fungsi LoadFromFile dipanggil untuk membaca file citra yang dipilih, lalu mengubah tinggi dan lebar FormCitra agar sesuai dengan ukuran citra([1]). FormCitra.Image.Picture.LoadFromFile( OpenPictureDialog.FileName); FormCitra.ClientHeight := FormCitra.Image.Picture.Height; FormCitra.ClientWidth := FormCitra.Image.Picture.Width; FormCitra.ClientHeight := FormCitra.Image.Picture.Height; Lalu tentukan tulisan mengenai format citra yang telah diambil tadi sesuai dengan Tabel di atas case (FormCitra.Image.Picture.Bitmap.PixelFormat) of pf1bit : fc := 'biner'; pf8bit : fc := 'keabuan'; pf24bit : fc := 'true color'; end; ([1]) Pengesetan tinggi form (FormCitra.ClientHeight) dilakukan 2 kali untuk menghilangkan pengaruh perbedaan tinggi scrollbar.
Akhirnya, tampilkan tulisan tersebut beserta nama file citra yang dibaca dan ukurannya. StatusBar.SimpleText := OpenPictureDialog.FileName + ' (' + IntToStr(FormCitra.Image.Picture.Width) + 'x' + IntToStr(FormCitra.Image.Picture.Height) + ', ' + fc + ')'; end; end;
Teknik Pengolahan Citra
9
Citra dalam Delphi
Jalankan program tersebut. Tekan tombol Ambil citra dan pilih file citra yang akan ditampilkan Sebagaimana telah dijelaskan di muka, file citra yang dipilih adalah file bitmap berekstensi BMP.
Setelah dipilih (dan menekan tombol Open), file citra tersebut akan ditampilkan dalam window anak yang tersedia. Window utama kemudian dapat diubah ukurannya (atau dapat juga dimaximize) untuk menampilkan citra secara utuh. Pada bagian bawah form utama, status bar menampilkan nama file, ukuran, serta format citra yang sedang ditampilkan.
Teknik Pengolahan Citra
10
Citra dalam Delphi
Referensi Achmad, B, Firdausy, K, 2005, Teknik Pengolahan Citra Digital menggunakan DELPHI, Ardi Publishing, Yogyakarta
Teknik Pengolahan Citra
11