14 Şubat 2012 Salı

Asp.net orantılı resim yükleme, upload


public void ResimYukle(FileUpload Yukle, int sabitt, string Klasor)
    {
        try
        {
            DosyaAdi = DateTime.Now.Day.ToString() + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Second + DateTime.Now.Minute + DateTime.Now.Millisecond + ".jpg";
            string bresim = "", uzanti = System.IO.Path.GetExtension(Yukle.FileName).ToLower();
            Yukle.SaveAs(HttpContext.Current.Server.MapPath("~//" + Klasor + "//") + DosyaAdi);// İlk olarak fotoyu normal kayıt ediyoruz
            using (Bitmap OriginalBMb = new Bitmap(HttpContext.Current.Server.MapPath("~//" + Klasor + "//" + DosyaAdi)))//Kayıt ettğimiz fotoyu çağırıp üzerinde işlem yapıyoruz
            {
                double ResimYukseklik = OriginalBMb.Height;// yüksekliği belirtiyoruz
                double ResimUzunluk = OriginalBMb.Width;// genişliği belirtiyoruz
                int sabit = sabitt;//vermek istediğimiz oranı veriyoruz eğer foto 300 den yüksek veya geniş ise bu işlemi gerçekleştireceğiz
                double oran = 0;
                if (ResimUzunluk > ResimYukseklik && ResimUzunluk > sabit)
                {
                    oran = ResimUzunluk / ResimYukseklik;
                    ResimUzunluk = sabit;
                    ResimYukseklik = sabit / oran;
                }
                else if (ResimYukseklik > ResimUzunluk && ResimYukseklik > sabit)
                {
                    oran = ResimYukseklik / ResimUzunluk;
                    ResimYukseklik = sabit;
                    ResimUzunluk = sabit / oran;
                }
                Size newSizeb = new Size(Convert.ToInt32(ResimUzunluk), Convert.ToInt32(ResimYukseklik));
                Bitmap Resizebmb = new Bitmap(OriginalBMb, newSizeb);
                Graphics grPhoto = Graphics.FromImage(Resizebmb);
                grPhoto.InterpolationMode = InterpolationMode.High; // resmin kalitesini ayarlıyoruz. Burada InterpolationMode özelliklerini bulabilirsini
                Resizebmb.Save(HttpContext.Current.Server.MapPath("~//" + Klasor + "//Y" + DosyaAdi), ImageFormat.Jpeg);
                OriginalBMb.Dispose();
            }
            File.Delete(HttpContext.Current.Server.MapPath("~//" + Klasor + "//" + DosyaAdi));//eski oluşturduğumuz resimi siliyoruz
        }
        catch
        {
            DosyaAdi = "";
        }
    }

Hiç yorum yok:

Yorum Gönder

Yorumunuz için teşekkür ederim.