Konversi Gambar Menggunakan Delphi Dengan Sintaks (Coding) - (Pengolahan Citra Digital)

by - 23.39




Penjelasan From
            Gambar diatas merupakan gambar dari desain umum form yang dibuat. Berikut adalah penjelasan masing-masing bagian dari gambar desian form diatas:



1.      Field Gambar
Pada desain form diatas terdapat 2 field gambar yang berfungsi untuk menampilkan gambar sesuai dengan pilihan user dan menghasilkan dari proses meng-copy gambar.
Field gambar tersebut dibuat dengan menggunakan tool Timage yang terdapat dalam fitur picture didalam properties. Dalam properties disetting strech nya dengan memberikan nilai true pada propperties strech dan ukuran di set menjadi 200x200 pixel dan file name diubah menjadi Open untuk menampilkan gambar pilihan dan Copy untuk menampilkan gambar hasil copy.

2.      Tombol
Pada desain form ini terdapat tiga buah tombol yang kesemuanya dibuat menggunakan fitur Tbutton. Yang dimana pada masing-masing tombol terdapat fungsi yang berbeda-beda yang sesuai caption-nya, seperti tombol Open yang akan membuka jendela baru untuk memilih gambar yang akan dipilih pada saat di klik dan tombol Copy gambar yang akan dijalankan prosedur untuk memindai dan emngcopy gambar dari gambar yang di Open ke gambar Copy. Dan terakhir adalah tombol Exit yang akan mengeluarkan kita dari program tersebut.

3.      Dialog TopenPicture
Pada form ini juga digunakan dialog bawaan yaitu TopenPicture dialog. Pada dialog ini juga berfungsi untuk menginputkan gambar ke tempat yang user inginkan. Pada properties dialog ini juga dapat mensetting filrernya agar dapat membuka file dengan ekstensi yang user inginkan.
4.      TradioButton
Pada TradioButton ini digunakan sebagai tombol untuk memilih pilihan yang akan dipilih oleh user. Radiobutton yang ada yaitu pilihan Red,Green,Blue,Cyan,Magenta dan Yellow. Yang berguna untuk mengubah gambar dengan warna asli tersebut menjadi warna-warna yang tersedia pada radiobutton diatas.
5.      Tombol Transform
Pada tambahan Tombol transform tersebut yang berguna untuk mengubah warna gambar asli tersebut menjadi warna-warna yang ada pada pilihan radiobutton tersebut. Tombol Transform ini akan mengubah gambar tersebut setelah user memasukan pilihan nya, dan tombol transform yang akan mengubahnya.

B. Sintaks

1.      Sintaks Open


procedure TForm1.Button2Click(Sender: TObject);
var
  l , t : integer;
  temp : Tcolor;
begin
  Image2.Picture.Bitmap.Width:= Image1.Picture.Bitmap.Width;
  Image2.Picture.Bitmap.Height:= Image1.Picture.Bitmap.Height;

  for l := 0 to Image2.Picture.Bitmap.Width -1 do
  begin
    for t := 0 to Image2.Picture.Bitmap.Height -1 do
    begin
      temp := Image1.Picture.Bitmap.Canvas.Pixels[l,t];
      Image2.Canvas.Pixels[l,t] := temp;
    end;
  end;
 
 


       Sintaks yang diatas merupakan sintaks Open. Ketika dialog TopenPicture dieksekusi,  maka terdapat jendela yang akan menunjukan user untuk memilih gambar yang akan ditampilkan pada field gambar. Alamat dari direktori akan terlebih dahulu disimpan ke variabel dengan tipe string. Karena data yang disimpan tersebut berupa kalimat
         D:/Pictures/Peta-dunia.bmp sehingga tidak cocok dijadikan menjadi tipe character maupun integer. 

2.      Sintaks Copy

procedure TForm1.Button1Click(Sender: TObject);
var
  sumber:string;
begin
  if buka.Execute then
  begin
  sumber:= Buka.Filename;
  Image1.Picture.LoadFromFile(sumber);
  end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  l , t : integer;
  temp : Tcolor;
begin
  Image2.Picture.Bitmap.Width:= Image1.Picture.Bitmap.Width;
  Image2.Picture.Bitmap.Height:= Image1.Picture.Bitmap.Height;
  for l := 0 to Image2.Picture.Bitmap.Width -1 do
  begin
    for t := 0 to Image2.Picture.Bitmap.Height -1 do
    begin
      temp := Image1.Picture.Bitmap.Canvas.Pixels[l,t];
      Image2.Canvas.Pixels[l,t] := temp;
    end;
  end;
 
  

                Variabel pertama adalah variabel bertipe data int dengan nama lebar dan tinggi yang nantinya digunakan untuk menyimpan data tentang lebar dan tinggi dari gambar dan variabel warna dengan tipe Tcolor untuk menyimpan informasi warna tiap pixelnya.
            Selanjutnya ukuran gambar yang akan dicopy dihitung lalu dijadikannya patokan ukuran gambar hasil proses copy nantinya. Pada sintaks diatas dapat dilihat bahwa lebar dan tinggi dari gambar pada gambarbuka ditransfer ke imagecopy dimana selectimage merupakan gambar hasil pilihan user yang ditampilkan. Hasil yang didapat dari proses ini adalah data lebar dan tinggi dari gambar yang akan dicopy.
            Proses terakhir adalah mengcopy informasi warna per pixel dari selectimage ke imagecopy. Proses ini menggunakan perulangan for dalam for. Perulangan pertama adalah perulangan yang berfungsi untuk menentukan nilai pixel di sisi lebar, sedangkan perulangan kedua berfungsi untuk menentukan nilai pixel di sisi tinggi.

3.      Sintaks Exit


procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
 
 




Sintakstersebut merupakan sintaks untuk keluar dari program.

4.      Sintaks Transform



 

    procedure TForm1.TransformClick(Sender: TObject);
  var
  panjang,lebar: integer;
  imgBuff:TBitmap;
  begin
  imgBuff:=TBitmap.Create;
  imgBuff.Assign(Image1.Picture.Graphic);
  Image3.Picture.Bitmap.Width:=Image1.Picture.Bitmap.Width;
  Image3.Picture.Bitmap.Height:=Image1.Picture.Bitmap.Height;
  for panjang:=0 to Image3.Picture.Bitmap.Width-1 do
  begin
    for lebar:=0 to Image3.Picture.Bitmap.Height-1 do
    begin
      color := ColorToRGB(imgBuff.Canvas.Pixels[panjang,lebar]);
      if red.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(GetRValue(color),0,0)
      else if green.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(0,GetGValue(color),0)
      else if blue.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(0,0,GetBValue(color))
      else if cyan.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(0,GetGValue(color),GetBValue(color))
      else if magenta.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(GetRValue(color),0,GetBValue(color))
      else if yellow.Checked then
      Image3.Canvas.Pixels[panjang,lebar]:=RGB(GetRValue(color),GetGValue(color),0)
        end;
        end;

Pada sintaks Transform merupakan sintaks yang berfungsi untuk mengubah warna asli dari suatu gambar yang diinputkan oleh user menjadi warna-warna RGB (Red,Green,Blue) dan CMY (Cyan, Magenta,Yellow). Sintaks ini berfungsi setelah user menginputkan pilihan warna yang akan diubah pada radio button tersebut. Sintaks yang pertama adalah dengan panjang dan lebar dari gambar tersebut yang nanti nya pada gambar tersebut nantinya akan dimasukan sintaks pada setiap percampuran warna baik itu Red,Green,Blue maupun Cyan, Magenta,Yellow. Setiap masing-masing sintaks tersebut telah ada sintaks dari percampur warna yang menghasilkan warna-warna tersebut. Pertama yang dilakukan oleh user adalah dengan memasukan pilihan warna yang akan di ubah, lalu nanti mengklik tombol transform yang terdapat sintaks didalamnya yang nanti akan memproses hasil pilihan dari yang diinputkan oleh user dari pilihan radio button tersebut.

C. Screenshoots

Tampilan desain form secara keseluruhan


Tampilan ketikan tombol Open tersebut di klik. Jendela yang baru akan muncul untuk mengarahkan user memilih gambar yang akan ditampilkan pada field gambar.


Tampilan ketika user sudah membuka gambar pilihannya.

Tampilan ketika gambar berhasil di Copy. Proses lama atau cepat nya meng-copy gambar itu tergantung terhadap kecepatan komputer yang digunakan.

 Tampilan ketika user memilih pilihan warna yang akan diubah pada radio button yang tersedia RGB (Red,Green, Blue) dan CMY (Cyan, Magenta, Yellow).




Berikut adalah tampilan dimana gambar yang dimasukan oleh user dan pilihan warna yang tersedia pada radio button telah di Transform dengan tombol transform yang menghasilkan warna merah yang berbeda dari warna asli gambar sebelumnya. Dan seterusnya sama dengan warna lain, baik itu Green, Blue, Cyan, Magenta baik Yellow.

You May Also Like

0 komentar