Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

C# Image Nesnesinin Boyutunu Ayarlama

Her ne kadar Asp.NET, Asp.NET MVC gibi yazılarım da C# kullansakta, son zamanlar da C# diline özel yazı yazmaz oldum.Son günlerde üzerinde çalıştığım bir masaüstü programında Image nesnesinin boyutunu programatik olarak ayarlama ihtiyacı oldu.Bu durum üzerine yaptığım araştırmalar neticesinde bulduğum ve denemiş olduğum bir sınıfı sizlere sunacağım.

Eğer Image nesnesinin boyutunu programatik olarak değiştirmek istiyorsanız aşağıdaki sınıfı kullanabilirsiniz.

    public static class ResimBoyutlandirici
    {
        public static System.Drawing.Image
                       ResimBoyutlandir(System.Drawing.Image img, Size boyut)
        {
            int kaynakEn = img.Width;
            int KaynakBoy = img.Height;
            float nPercent = 0;
            float nPercentW = 0;
            float nPercentH = 0;
            nPercentW = ((float)boyut.Width / (float)kaynakEn);
            nPercentH = ((float)boyut.Height / (float)KaynakBoy);
            if (nPercentH < nPercentW)
            {
                nPercent = nPercentH;
            }
            else
            {
                nPercent = nPercentW;
            }
            int HedefEn = (int)(kaynakEn * nPercent);
            int HedefBoy = (int)(KaynakBoy * nPercent);
            Bitmap b = new Bitmap(HedefEn, HedefBoy);
            Graphics g = Graphics.FromImage((System.Drawing.Image)b);
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            g.DrawImage(img, 0, 0, HedefEn, HedefBoy);
            g.Dispose();
            return (System.Drawing.Image)b;
        }
    }

Static yapıdaki bu sınıf içerisinde bulunan metod, Image tipindeki parametresine aldığı nesnenin boyutlarını, diğer parametredeki Size nesnesinin boyutlarına göre ayarlayıp geri göndermektedir.

Faydalanmanız dileğiyle..

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. Fatih dedi ki:

    Öncelikle emeğiniz için teşekkür ederim. Bu method resimleri dinamik boyutlandırma işleminde mi kullanılıyor acaba? Bilgi verirseniz sevinirim. İyi çalışmalar.

Fatih için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir