Tuesday, December 15, 2009

Membuat Aplikasi Penampil Gambar (PicView)

Aplikasi Image Viewer
Gambar yang kita miliki mungkin hasil dari download, atau dari kamera, atupun dari tempat lain. Format gambar yang kita miliki bermacam-macam seperti JPeg, PNG, atau BMP. Yang paling umum kalau kita mendapatkan gambar dari Kamera digital adalah gambar dengan format JPeg. Kita akan membuat aplikasi sederhana dengan C# untuk menampilkan gambar-gambar yang kita miliki ini. (PicView)

Aplikasi penampil gambar saat ini sudah banyak. Diantaranya adalah Paint yang biasanya sudah dipaket langsung dengan instalasi windows. Ada juga aplikasi Photoshop, Imaging, dan banyak lagi. Nah kita pun bisa membuat aplikasi penampil gambar sendiri. Dan tentu saja merupakan kebanggaan tersendiri jika bisa membuat sendiri.(PicView)

Kita akan membuat aplikasi penampil gambar sederhana dengan fungsi-fungsi yang sederhana. Fungsi yang disediakan meliputi mengambil file gambar, menampilkan gambar tersebut dalam komponen Picture Box, dan mengubah-ubah cara penampilannya yang meliputi normal, autosize, zoom dengan fasilitas yang disediakan dalam komponen Picture Box yang kita gunakan ini.(PicView)

Kita modifikasi PicView.cs yang kita buat dalam tulisan sebelumnya dengan menambahkan satu buah komponen groupbox dan 5 buah radiobutton yang kita masukkan dalam groupbox tersebut. Berikut adalah rutin lengkapnya:

using System;
using System.Windows.Forms;

public class PicView : Form
{
  private System.Windows.Forms.PictureBox picBox;
  private System.Windows.Forms.Button btnAmbil;
  private System.Windows.Forms.Button BtnTutup;
  private System.Windows.Forms.GroupBox groupBox1;
  private System.Windows.Forms.RadioButton rb5;
  private System.Windows.Forms.RadioButton rb4;
  private System.Windows.Forms.RadioButton rb3;
  private System.Windows.Forms.RadioButton rb2;
  private System.Windows.Forms.RadioButton rb1;

  public PicView()
  {
    picBox = new System.Windows.Forms.PictureBox();
    btnAmbil = new System.Windows.Forms.Button();
    BtnTutup = new System.Windows.Forms.Button();
    groupBox1 = new System.Windows.Forms.GroupBox();
    rb1 = new System.Windows.Forms.RadioButton();
    rb2 = new System.Windows.Forms.RadioButton();
    rb3 = new System.Windows.Forms.RadioButton();
    rb4 = new System.Windows.Forms.RadioButton();
    rb5 = new System.Windows.Forms.RadioButton();
    // 
    // picBox
    // 
    picBox.BackColor = System.Drawing.SystemColors.ControlLightLight;
    picBox.Location = new System.Drawing.Point(5, 5);
    picBox.Size = new System.Drawing.Size(250, 250);
    picBox.TabIndex = 0;
    picBox.TabStop = false;
    // 
    // btnAmbil
    // 
    btnAmbil.Location = new System.Drawing.Point(275, 5);
    btnAmbil.Size = new System.Drawing.Size(108, 23);
    btnAmbil.TabIndex = 1;
    btnAmbil.Text = "Ambil Gambar";
    // 
    // BtnTutup
    // 
    BtnTutup.Location = new System.Drawing.Point(275, 34);
    BtnTutup.Size = new System.Drawing.Size(108, 23);
    BtnTutup.TabIndex = 2;
    BtnTutup.Text = "Tutup";
    // 
    // groupBox1
    // 
    groupBox1.Controls.Add(rb5);
    groupBox1.Controls.Add(rb4);
    groupBox1.Controls.Add(rb3);
    groupBox1.Controls.Add(rb2);
    groupBox1.Controls.Add(rb1);
    groupBox1.Location = new System.Drawing.Point(275, 63);
    groupBox1.Size = new System.Drawing.Size(105, 169);
    groupBox1.TabIndex = 3;
    groupBox1.TabStop = false;
    groupBox1.Text = "Opsi Penampilan";
    // 
    // rb1
    // 
    rb1.AutoSize = true;
    rb1.Checked = true;
    rb1.Location = new System.Drawing.Point(7, 20);
    rb1.Size = new System.Drawing.Size(58, 17);
    rb1.Text = "Normal";
    // 
    // rb2
    // 
    rb2.AutoSize = true;
    rb2.Location = new System.Drawing.Point(7, 43);
    rb2.Size = new System.Drawing.Size(91, 17);
    rb2.Text = "Stretch Image";
    // 
    // rb3
    // 
    rb3.AutoSize = true;
    rb3.Location = new System.Drawing.Point(7, 66);
    rb3.Size = new System.Drawing.Size(70, 17);
    rb3.Text = "Auto Size";
    // 
    // rb4
    // 
    rb4.AutoSize = true;
    rb4.Location = new System.Drawing.Point(7, 89);
    rb4.Size = new System.Drawing.Size(88, 17);
    rb4.Text = "Center Image";
    // 
    // rb5
    // 
    rb5.AutoSize = true;
    rb5.Location = new System.Drawing.Point(7, 112);
    rb5.Size = new System.Drawing.Size(52, 17);
    rb5.Text = "Zoom";
    // 
    // PicView Form
    // 
    Size = new System.Drawing.Size(400, 300);
    Controls.Add(BtnTutup);
    Controls.Add(btnAmbil);
    Controls.Add(picBox);
    Controls.Add(groupBox1);
    
    Text = "Picture View (http://abcsharpind.blogspot.com)";
    Resize += new System.EventHandler(PicView_Resize);  
    btnAmbil.Click += new System.EventHandler(btnAmbil_Click);
    BtnTutup.Click += new System.EventHandler(BtnTutup_Click);

    rb1.CheckedChanged += new System.EventHandler(rb_CheckedChanged);
    rb2.CheckedChanged += new System.EventHandler(rb_CheckedChanged);
    rb3.CheckedChanged += new System.EventHandler(rb_CheckedChanged);
    rb4.CheckedChanged += new System.EventHandler(rb_CheckedChanged);
    rb5.CheckedChanged += new System.EventHandler(rb_CheckedChanged);
    
  }

  private void PicView_Resize(object sender, EventArgs e)
  {
    picBox.Width = Width - 145;
    picBox.Height = Height - 50;
    btnAmbil.Left = picBox.Left + picBox.Width + 20;
    BtnTutup.Left = btnAmbil.Left;
    groupBox1.Left = btnAmbil.Left;
  }

  private void btnAmbil_Click(object sender, EventArgs e)
  {
    OpenFileDialog fd;
    fd = new OpenFileDialog();
    fd.Filter = "Bitmap File (*.bmp)|*.bmp|Portable Network Graphics (*.png)|*.png|JPeg File (*.jpg)|*.jpg||";
    if (fd.ShowDialog(this) == DialogResult.OK)
    {
      picBox.Load(fd.FileName);        
    }
  }

  private void BtnTutup_Click(object sender, EventArgs e)
  {
    Close();
  }

  private void rb_CheckedChanged(object sender, EventArgs e)
  {
    RadioButton cb = (RadioButton)sender;
    if (cb.Checked)
    {
      switch (cb.Text)
      {
        case "Normal":
            picBox.SizeMode = PictureBoxSizeMode.Normal;
            break;
        case "Stretch Image":
            picBox.SizeMode = PictureBoxSizeMode.StretchImage ;
            break;
        case "Auto Size":
            picBox.SizeMode = PictureBoxSizeMode.AutoSize;
            break;
        case "Center Image":
            picBox.SizeMode = PictureBoxSizeMode.CenterImage;
            break;
        case "Zoom":
            picBox.SizeMode = PictureBoxSizeMode.Zoom;
            break;
      }
    }
  }

  public static void Main()
  {
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  PicView p ;
  p = new PicView();
  Application.Run(p);        
  }
  
}

Kompilasilah file tersebut dengan command sebagai berikut:
c:\>csc.exe /target:winexe /out:PicView.exe PicView.cs

Ok, Selamat Mencoba!!! (PicView)

0 comments:

Post a Comment