Menampilkan obyek gambar dengan C Sharp

Setelah melalui berkali - kali pencarian akhirnya di temukan satu code rahasia sehingga dengan code tersebut kita dapat menampilkan gambar yang kita sukai di windows tanpa perlu menampilkan form yang biasa muncul dengan border dan title. Berikut ini tahapan nya:

  • Buat form,
  • Siapkan memory untuk menampung gambar:

private Bitmap png;

  • Buat aksi untuk loading gambar yang akan kita panggil ketika load event formterjadi;

 private void MainForm_Load(object sender , System.EventArgs e )
        {
            //FormBorderStyle = FormBorderStyle.None;
            png = (Bitmap)Bitmap.FromFile("Month and Star - clear 50px.jpg");
            
        }

  • Buat aksi untuk memunculkan gambar dan membuat background transparant

private void MainForm_Paint(object sender, PaintEventArgs e)
        {
            ImageAttributes attr = new ImageAttributes();
            // Set the transparency color key based on the upper-left pixel 
            // of the image.  This sets transparency for the image only.
            attr.SetColorKey(png.GetPixel(0, 0), png.GetPixel(0, 0));
            //Fill the form with the transparent color set in the transparencykey attribute
            //of the form.
            //This also makes the form invisible to the mouse
            e.Graphics.FillRectangle(Brushes.Transparent, this.DisplayRectangle);
            //Paint the image
            //Now mouse events will occur only in the visible image area, effectively reshaping the
            //form to the image.
            GraphicsUnit pu = GraphicsUnit.Pixel;
            e.Graphics.DrawImage((Image)png, Rectangle.Truncate( //need to convert from RectangleF
            png.GetBounds(ref pu)), 0F, 0F, (float)png.Width, (float)png.Height,
            GraphicsUnit.Pixel, attr);
            
        }

  • Tambahkan aksi MainFrom_Load dan MainForm_Paint ke dalam Load and Paint Event, pada bagian  

private void InitializeComponent()
        {
            this.SuspendLayout();
            ..            

// membuat form tanpa di lengkapi dengan border

            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
            this.Load +new System.EventHandler(this.MainForm_Load);
            this.Paint +new System.Windows.Forms.PaintEventHandler(this.MainForm_Paint);
            ..

        }

  • Selesai,

berikut ini contoh yang bisa kamu coba di rumah download