msHOWTO

12 Nisan 2012 Perşembe

C# Resmi Yeniden Boyutlandırma

Merhaba arkadaşlar. Bu makalemde sizlere bir resmi istediğimiz oranda nasıl büyültürüz nasıl küçültürüz nasıl genişletip nasıl daraltırız durumlarını anlatmaya çalışacağım.Mesela çok güncel bir örnek vermek gerekirse.Bir siteye resim yükleyeceksiniz.Fakat yükleyeceğiniz resmin boyutları çok büyük.Ne yapacaksınız ? Resmi yeniden boyutlandırıp kaydedip tekrar yüklemeye çalışcaksınız.Ne kadar uğraştırıcı bir iş değil mi ? Bir de yazılım dünyasından örnek vereyim arkadaşlar.Diyelim ki bir siteniz var .Ve kullanıcılarınız siteye resim yüklemesi yapacaklar.Düşünsenize kim nasıl resim atacak nerden bileceksiniz? Diyelim ki 100 kullanıcıdan her biri ortalama 3 mb lık bir resim yukleseler 300mb yapar.Sayının bu şekilde arttığını düşünün.Site bir süre sonra açılmaz :)

Peki kullanım amaçlarını anladıktan sonra hemen uygulamaya geçelim arkadaşlar ...

Formun tasarımı için bir tane picturebox,bir adet openfiledialog ve 2 adet button ekleyin.Butonların birinin text ine Gözat diğerine ise Yeniden Boyutlandır girin.Gelelim kodlama işlemine...

Aşağıdaki kütüphaneleri kod sayfanızın en üstüne yazın (kod sayfasına geçmenin bir diğer yolu de tasarım anında iken F7 tuşuna basmaktır.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;


Daha sonra aşağıdaki değişkenleri global olarak tanımlayın..


string dosyaYolu = string.Empty;
        Bitmap bmp = null;


Gözat butonuna aşağıdaki kodları yazın ...


if (openFileDialogDosyaAc.ShowDialog() == DialogResult.OK)
            {
                dosyaYolu = openFileDialogDosyaAc.FileName;

                //bir bitmap nesnesi oluşturulur ve seçilen resim bu nesneye yüklenir.  

                bmp = new Bitmap(dosyaYolu);

                pictureBox1.Image = bmp;
  
              //picturebox nesnesinin sizemode özelliği strech olarak ayarlanır.Bunun //sebebi ise seçilen resmin picturebox nesnesinde tam olarak gözükmesini sağlamaktır.

                pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            }

Ve geldik en önemli kısma arkadaşlar ... Yeniden boyutlandır butonuna aşağıdaki kodları yazın ...


  Bitmap bmpKucuk = new Bitmap(pictureBox1.Image, 100, 50); // Yeniden boyutlandırmak için //Bitmap sınıfı kullanılır.Picturebox da yüklü olan resim 100 e 50 boyutunda yeniden //boyutlandırılıyor.
            pictureBox1.Image = bmpKucuk;
            pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;

Hiç yorum yok:

Yorum Gönder