.NET ile componentlerden kurtulmak beni ne kadar sevindirdi ise, yine . NET ile herşeye hakim olmakta bir o kadar sevindiriyor. Tabii ki bu sadece 40-50 $’lık componentlerden kurtardığı için değil. Az sonra yazacağım örnekle eminimki sizde sevecek yada dahada bir ısınacaksınız.

Sitemize kayıt ettirdiğimiz resimleri kullanıcılara gösterirken üzerine sitemizin adını yazmak kim istemez? Eğer ticari bir kaygı varsa sanırım herkes ister. Şu andaki bir projede bu lazım olunca oturup araştırmak ve bulunca da yazmak gerekti. 

Öncelikle CodeBehind tarafına şunları ekliyoruz ;

using System.Drawing;//çizimler için
using System.Drawing.Imaging;//imagelere çizimler için
using System.Drawing.Drawing2D;//2 boyutlu çizimler için
using System.Drawing.Text;//image üzerine yazı yazabilmek için

 

 

Kütüphanelerimizi ekledikten sonra kodu bir class olarakmı kullanacağız yoksa gösterim sayfasındamı yapacağız ona karar vermemiz gerekmektedir.


 

 protected void Page_Load(object sender, EventArgs e)

    {
         //öncelikle üzerine yazı yazacağımız resmimizi 
        //seçiyoruz ve bitmap olarak tanımlıyoruz
        //resim adresini isterseniz bir değişkendende alabilirsiniz
        Bitmap img = new Bitmap(Server.MapPath("images/sunset.jpg"));

        //Bitmap'ı bir grafik olarak tanımlıyoruz
        Graphics gimg = Graphics.FromImage(img);

        //yazımızın yerleşimini hesaplıyoruz
        //yukarıdan resmin yüksekliğinin %1'i kadar boşluk veriyoruz
        double boy = img.Height * 0.01;

        //yandan ise %30 u kadar bir boşluk veriyoruz
        double en = img.Width * 0.30;

        //Smooting modeunu seçiyoruz
        gimg.SmoothingMode = SmoothingMode.AntiAlias;

        //keskinliğini belirliyoruz bu değer 0 ile 12 arasında olabilir
        gimg.TextContrast = 6;

        //yazımızın opacity'sini ayarlıyoruz. Ben beyaz ve %80 seçtim
        using (Brush semiTransparentBrush = new SolidBrush(Color.FromArgb(80, Color.White)))

        //tüm değişkenlerimiz tamam olduğuna göre 
        //artık yazabiliriz
        gimg.DrawString("www.weboutbox.com \ndeneme", new Font("Verdana", 25),semiTransparentBrush, new Point(Convert.ToInt32(en), Convert.ToInt32(boy)));

        //çıktı olarak görünecek image'in formatını belirliyoruz
        Response.ContentType = "image/jpeg";

        //Resmimizi açtık ve üzerine yazımı yazdık ancak atlamamız 
        //gereken nokta şuki biz burada sadece kullanıcıya gösterirken 
        //yazıyoruz yazıyı ve resmimiz aslında orjinal hali ile duruyor
        img.Save(Response.OutputStream, ImageFormat.Jpeg); 

        gimg.Dispose();
        img.Dispose();

    }

Çıktı

yandaki resimdende görebileceğiniz gibi resmimizin uzantısı .aspx iken sağ  tıklayıp  resim olarak kaydet diyebiliyoruz.

 

Benzer Yazılar