mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ile Resim Üzerine Yazı Yazma
Asp.net ile Resim Üzerine Yazı Yazma

Haber sitelerinde veya resim / fotoğraf üzerine kurulu güncel sitelerde gördüğümüz bu uygulamayı asp.net ile nasıl yapacağımıza bakalım. Tabi birçok yolu var ama ben bunlardan birini göstereceğim. Yaptığım uygulamanın ekran görüntüsü öncesi ve sonrasıyla yukarıdaki gibidir.

Kodlarımıza bakacak olursak:

    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Drawing.Image i = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
        Bitmap b = yaz(i, i.Width, i.Height, "Mehmet Duran", 16); // metodumuzu çağırıyoruz
        b.Save(Server.MapPath("~/new/" + FileUpload1.FileName)); 
    }
    private Bitmap yaz(System.Drawing.Image resim, int genislik, int yukseklik, string yazilacak, float font)
    {
        Bitmap resmim = new Bitmap(resim, genislik, yukseklik);
        System.Drawing.Graphics graf = System.Drawing.Graphics.FromImage(resmim);
        System.Drawing.SolidBrush firca = new SolidBrush(System.Drawing.Color.Red);
        System.Drawing.Font fnt = new Font("calibri", font);//font tipi ve boyutu
        System.Drawing.SizeF size = new SizeF(0, 0);
        System.Drawing.PointF coor = new PointF(0,0);
        System.Drawing.RectangleF kutu = new RectangleF(coor, size);
 
        StringFormat sf = new StringFormat();
        sf.FormatFlags = StringFormatFlags.DirectionVertical;
 
        graf.DrawString(yazilacak, fnt, firca, kutu, sf);
        return resmim;
    }


Görüldüğü gibi yazdığımız bir metod ile bu olayı gerçekleştirebiliyoruz. Söylediğim gibi bu metot resim üzerine yazı yazma olayını yapma yöntemlerinden sadece bir tanesi. Ayrıca yapacağınız değişikliklerle yazı olayını daha da geliştirebilirsiniz.
İyi Çalışmalar!
Mehmet Duran 28 Ağustos Perşembe 2008 33 25976 3,9
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Javascript ile Menü Effect Jquery ile Basit Birkaç Örnek Uygulama (Karakter Saydırma) Tasarımda Değişiklik The Ultimate Css (E-Book) Jquery ile Değişir Alan Yapma
Yorumlar
Yorum Yaz
RSS Yorum Takibi
DİCLE 18 Ekim Cumartesi 2008 18:21 #1
GÜZEL AMA BENDE YAPACAM NASIL YAPACAMM ANLAMADIM B SİTEYİ YAPAN MANTIKLI YAPSIKİ BEGENİ YOPLASIN OK
Mehmet Duran 18 Ekim Cumartesi 2008 18:48 #2
Merhabalar! Öncelikle belirtmeliyim ki yapılacak olan oldukça açık. Bir metod var ve bu methodu buton click veya harnegi bir event içinde çağırıyoruz. Eğer tam anlaşılmadıysa sorularınızı sorabilirsiniz.
esmanur 09 Kasım Pazar 2008 18:01 #3
ya bence hiç güzel olmamış birazdaha ilgi çekici ve güzel yapabilirdini
Emre 18 Kasım Salı 2008 11:12 #4
Biraz daha yapıcı ve emeğe saygı ile yaklaşmayı deneseniz daha ilgi çekici ve güzel diyorsunuz daha iyisini yapabilecekseniz makalede ne işiniz var ? Tekrarlıyorum emeğe saygı lütfen .. Ellerinize sağlık ..
eren 14 Aralık Pazar 2008 11:05 #5
eline sağlık çok güzel anlatmışsın ama keşke birde örnek dosya bıraksaydın makale içine bu işe yeni başlamışlar için
Mehmet Duran 14 Aralık Pazar 2008 11:08 #6
Bu uygulamayı yaparken örnek proje yapmıştım. Ancak kodların aynısını buraya yazdığım için örnek projeye gerek duymamıştım. En kısa zamanda koyacağım.
Nuh Recep 21 Aralık Pazar 2008 14:16 #7
Mehmet , bilgileri bu şekilde insanlara sunuyor olman çok güzel ( canını sıkabilecek yeter yayınlamıyorum kardeşim diyebileceğin yorumlarında olmasına rağmen ). Gerçekten öğrenmek isteyenlere fotoğraf üzerine yazı böyle yazılırı göstermeye yetipde artacak kadar açıkayıcı olmuş. Eline sağlık biraz c# bilen olayı hemen çözer zaten düşündüğün gibi dosya eklemenede gerek yok. Çok hazırcıyız ha çok!.
Hayret Biseysiniz.. 07 Ocak Çarşamba 2009 14:39 #8
Makeleden bise anlamadim diyen arkadas eger bunu nasil yapacam diye yakiniyorsan bence en bastan .NET calismaya basla. Bundan daha acik bir sekilde olmaz.Isin hayret yani kendi kusurlu sorunu baskalarinda ariyor. Mehmet bukadar sabirli biri oldugun icin tesekkurler. Erkan
Anlamıyormusunuz.?? 24 Ocak Cumartesi 2009 00:12 #9
Artık bunuda anlamıyorlarsa daha ne diyelim. Siz bu işi bırakın.
Serkan Eren 24 Şubat Salı 2009 07:54 #10
Boşver milleti,gerçekten çok güzel makaleler yazıyosun, gerçektende beğeni ile takip ediyorum, Ellerine sağlık..
Burak 16 Mart Pazartesi 2009 16:57 #11
tamamen çalıntı bir kod.. kod güzel açlışıyor fakat bunu db ye kaydetme çekme işlemleri olacak..bunu bilen anlatan adam db işlemlerinide yapabilecek kapasitedeidr o zaman... güzel tarafı heralde dğeişkenlerin türkçe olması..:D hadi kolay gele..
Mehmet Duran 16 Mart Pazartesi 2009 18:31 #12
Merhaba. Arkadaşım çalıntı olduğunu söylemişsin. Eğer böyle birşey söyleyebiliyorsan bunu ispat etmelisin. Çaldığım kodları göster ben dahil herkes görsün. Öyle havaya çalıntı derken dikkatli ol. Sana da kolay gelsin. ;)
derya 02 Nisan Perşembe 2009 11:59 #13
yazınızı okudum ve çok beğendim birçok kodaman sitede kullanılan bu hizmeti bizlerde sitelerimizde kullanabilme hayaliyle yaşarken sizin gibi nadide insanlar bu hayalleri gerçeğe dönüştürmek adına gizli zihin mücadeleri veriyor..şu internette saklı ne kadar güzal sanal kahramanlar var :) zihninize sağlık üstat..teşekkür ederiz
Emre 28 Mayıs Perşembe 2009 15:47 #14
Bende mehmet`i yakından takip edenlerdenim sitesindeki hiç bir kodun çalıntı olduğuna inanmıyorum. Başarılar diliyorum ayrıca bu işe yeni başlayanlar ve profesyoneller için fikir verici bir site olduğunu düşünüyorum.
Ömer Çakıcı 16 Haziran Salı 2009 19:51 #15
Arkadaşım Ellerine sağlık dediğin gibi programlama da bir çok yöntem vardır ve sonuca giden her yol doğrudur. Yukarıdaki bazı yazılarda yok şöyle olsa yok çalıntı kod yok ... komediden başka bir şey değil :D kolay gele herkese
knn 28 Haziran Pazar 2009 22:33 #16
anlamayanlar anlayabilecekleri yerlerde takılsınlar belki biraz zekalarını geliştirirler orda
İbrahim EMÜR 23 Ekim Cuma 2009 13:31 #17
madem o kadar çok biliyolar otursunlar kendileride bi site açsın çalıntı olmayan kodlar yazsınlar. Ellerine sağlık Mehmet kardeşim
oGan 03 Kasım Salı 2009 06:32 #18
Kendimi bir an beceriksiz hissettim:) Metod bende hata veriyor "'Bitmap' tür veya ad alanı adı bulunamadı (bir using yönergeniz veya derleme başvurunuz mu eksik?" Acaba eklemem gereken kütüphanelermi var :S
Mehmet Duran 03 Kasım Salı 2009 13:51 #19
Merhaba. Sorunu çözmek için System.Drawing kütüphanesini eklemen gerekiyor. Aldığın hatanın nedeni bu.
Umut 06 Aralık Pazar 2009 17:14 #20
Merhaba Oncelikle makale icin tesekkurler. Birden fazla satirli yazilari nasil yazabiliriz? Mesela bir paragraf seklinde olsa ve ornegin align center gibi. Drawstring ile tek satir yazilari yazabiliyoruz. VbCrlf ile alt satira da gecebiliyoruz ama yaziyi saga yaslamak istersek?
Mehmet Duran 06 Aralık Pazar 2009 21:08 #21
Bu konuda geçenlerde yazmış olduğum yazıda birkaç veriyi birden resim üzerinde belirli koordinatlara yazdırmıştım. Bunun için birçok yöntem mevcut. Yazımda belirli koordinatlarda dikdörtgen oluşturarak o kutuların içine verileri yazdırmıştım. Buradan yazıma ve örneğime ulaşabilirsin. Oradaki kodlara yapılacak eklemeler ve üzerinde yapılacak değişimler ile istediğin biçimde bir çözüm bulabilirsin.
Serkan Gürtekin 25 Şubat Perşembe 2010 01:17 #22
resmin üzerinde yazıyı konumlandırma işini nasıl yaparız hocam. ben mesela resmin ortasında çapraz yazı olsun isterim. yani sağ alt kçşeden sol üst köşeye doğru çağraz yazan opacity değeri ortalarda olan bi yazı...
Mehmet Duran 25 Şubat Perşembe 2010 01:30 #23
Daha önce buradaki yazımda örnek paylaşmıştım. bu örnekte bir takım verileri resim üzerine belli aralıklarla aktardım. Oradaki koordinat verilerini kendine göre güncelleyerek istediğin tarzda bir uygulama geliştirebilirsin. Yazının çapraz, saydam olması gibi özellikleri ise orada kullanılan sınıfların özellikleri yardımıyla rahatlıkla yapılabilir.
Bahadır 27 Nisan Salı 2010 15:32 #24
Resim üzerine resim nasıl atarım? Bu konuda bir çalışmanız var mı acaba? Emeğin takdir edilmeli. Saygılarımla...
Mehmet Duran 27 Nisan Salı 2010 23:57 #25
Merhaba. Bununla daha önce uğraşmıştım. Resim olarak aldığın bir nesneyi (bitmap, vb.) graphics kütüphanesini kullanarak başka bir resim ile birleştirebilirsin. Bunun için de graphics sınıfından türeteceğin bir nesnenin drawImage gibi metotlarını kullanabilirsin. Şu anda kod paylaşamayacağım ama bu söylediklerimi internette araştırırsan çok fazla örnek bulabilirsin.
semih 21 Temmuz Çarşamba 2010 21:35 #26
Hocam Emeginize Saglık Çok Güzel Anlatmsınız Ama Bir Şey Solemek Istıorum Yaptınız Projelerın Formunda Neler Var Onlarıda Belirtirseniz Cok Güzel Olur. Ama Yinede Cok Sagolun Hocam İyiki Varsınız.
Mehmet Duran 22 Temmuz Perşembe 2010 17:40 #27
Teşekkür ederim. Yaptığım projelerin formu derken ne demek istedin? Genelde web projeleri üzerine çalışıyorum.
cem 27 Temmuz Salı 2010 11:52 #28
Merhaba, bu işlem sonunda resmin boyutu iki katına çıkıyor. Bu sorunu nasıl çözebiliriz ?
Mehmet Duran 27 Temmuz Salı 2010 13:22 #29
Bunun için çeşitli parametreler var. Bu parametreler ile resmin kalitesi ile oynayabiliyorsun. Böylece boyutu da azalıyor. Bu parametreleri araştırmalısın.
Gökhan Beyaz 07 Kasım Pazar 2010 22:21 #30
s.a Mehmet hocam,Burada kodlarınıza bu fontu istenilen alpha ile nasıl transpran yapabiliriz acaba , onu ekler misiniz.tşk ederim...
Mehmet Duran 13 Kasım Cumartesi 2010 13:37 #31
@Gökhan, söylediğin işlemi yapmıştım ama şu anda nasıl yaptığımı hatırlamıyorum. Font nesnesinin renk ile ilgili özelliği varsa onunla yapılması gerekir.
Uğur 03 Şubat Perşembe 2011 04:24 #32
Merhaba hocam. Makale için teşekkürler. Benim bir sorum olacaktı font tanımlamasını yaparken sistemde bulunmayan bir fontu kullanmamız mümkün mü? Yani netten herhangi bir fontu indirip resme yazılan yazıda kullanmak istesek ne yapmamız lazım? Servera müdahale edemediğimizde düşünürsek.
Mehmet Duran 04 Şubat Cuma 2011 16:05 #33
@Uğur, söylediğin şey için yöntemler olduğunu biliyorum ama hiç kullanmadım. Herhangi bir dll'i referans olarak ekler gibi font'u da referans olarak ekleyip kullanabiliyoruz diye biliyorum. Ancak daha önce böyle birşey ile ilgilenmedim. Netten araştırmak lazım.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Büyük işler gibi, büyük düşüncelerinde davula ihtiyaçları yoktur.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009