Asp.Net C# ile resim üzerine yazı yazma ve gösterme
İlk önce resimgoster.aspx adlı sayfa oluşturuyoruz. Website-Add New item-web form…
Sayfamıza resim üzerinde çizim, yazı yazma işlemleri için gerekli olan namespacelerimizi ekliyoruz.
using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Text; using System.Drawing.Imaging;
Daha sonra da Page load eventinde aşağıdaki kodları yazıyoruz.
protected void Page_Load(object sender, EventArgs e)
{
Bitmap resim = new Bitmap(Server.MapPath("~/resimler/manzara.jpg")); //bitmap sınıfından resim nesnesi oluşturuyoruz ve resmin adresini belirtiyoruz Graphics yaziyaz = Graphics.FromImage(resim); //çizim için Graphics sınıfından yeni nesne üretiyoruz string yazi = "www.arifceylan.com"; //yazdırılacak olan değişkenimizi oluşturup değer veriyoruz. yaziyaz.DrawString(yazi, new Font("Arial",20, FontStyle.Italic),SystemBrushes.WindowText,new Point(10,30)); // yaziyaz ile yazdıracağımız yazıyı, yazı tipini, boyutunu,stilini, ve yazdırılacak olan bölümün x ve y // koordinatlarını belirtiyoruz(10,30) Response.ContentType="image/jpeg"; resim.Save(Response.OutputStream, ImageFormat.Jpeg); //resmin çıktısını alıyoruz resim.Dispose(); yaziyaz.Dispose(); //nesneleri sonlandırıyoruz.
}
Resimgoster.aspx sayfasını çalıştırdığınızda resimler klasöründeki manzara.jpg dosyasının üzerine www.arifceylan.com yazdığını ve resim olarak görüntülediğini göreceksiniz.
Başka bir sayfa içerisinde bu resmi çağırmak için;
<img src=”resimgoster.aspx”>
html etiketi
veya eklenen image kontrolü için;
Image1.ImageUrl=”resimgoster.aspx”; kodu kullanılabilir.
Not: Resim sürekli değişecekse resim adı Querystring ile gönderilebilir. örneğin Image1.ImageUrl=”resimgoster.aspx?resim=abc.jpg”;
gibi… Aynı yöntemle veritabanındaki tüm resimlere de yazdırma işlemi yapabilirsiniz. Tabi pageloadda resim adını querystring ile de aldırmanız gerekiyor.
İyi çalışmalar.
Gelen arama terimleri:
- resim üzerine yazı yazma
- resim üzerine isim yazma
İyi günler.
Teşekkür ederken bir sorum olacak.
Ben bu kodları bir butonun click olayına yazarak o an sayfada görünen resmin üzerine yazı ve logo yerleştiriyorum. Butona basıp sayfa tekrar yüklendiğinde resmin üzerinde yazı ve logo görünüyor.
Ancak resmin bu şekilde kaydedilmesini istiyorum. Resim artık bu halde kalsın.
O olmuyor bu yöntemle ya da bende bi sorun var.
klasörde yazma izni var. zaten başka şeyler kaydediyorum klasöre.
nasıl yapmalıyım. Teşekküler.
iyi günler.
Bu yöntemle resmin orjinali bozulmadan resimler üzerine yazı yazılmış şekilde gösteriliyor. Eğer istenirse örneğin veritabanından çağırılıp gösterilen tüm resimlerde aynı sayfada kullanılabilir.
Fakat dediğiniz gibi bir butona tıklandığında kayıtlı bir resim üzerine yazı yazıp yeniden kaydetmek istiyorsanız şu kodları düzenleyin.
Response.ContentType = “image/jpeg”; bu kodu kaldırın veya açıklama satırı olarak ayarlayın…
resim.Save(Response.OutputStream, ImageFormat.Jpeg);
Bu satırı da aşağıdaki gibi düzenleyin.
resim.Save(Server.MapPath(“~/resimler/manzarayeni.jpg”));
aynı dosyanın üzerine yazarken hata verir. manzarayeni yazmamın sebebi bu.
Kolay gelsin