C# Resim Üzerine Yazı Yazma

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda bir resim üzerine yazı yazmayı anlatacağım. Hadi başlayalım !
Table of Contents
Bu yazımızda Imageprocessor adında bir kütüphaneyi kullanarak resim üzerine yazı yazacağız. Bu kütüphane C# kurulumu ile beraber gelmeyip 3. parti bir kütüphane olduğu için öncelikle bu kütüphaneyi indirip projemize dahil etmemiz gerekiyor. Bunun en kolay ve hızlı yolu ise Nuget kullanmak. Nuget, Visual Studio ile beraber gelen ve Visual Studio içerisinde entegre bir şekilde çalışan paket yöneticisi ve kendisine Visual Studio üzerinden Tools > Nuget Package Manager > Package Manager Console adımlarını izleyerek açabilirsiniz.
ImageProcessor Kütüphanesini Kurma
Nuget ile bir kütüphaneyi indirip projeye dahil etmek için açılan terminal üzerinden şöyle bir komut girmemiz gerekiyor;
install-package imageprocessor
Bu işlemin ardından Nuget, Imageprocessor kütüphanesini indirecek ve projeye dahil edecektir.
Yazı Fontu ve Rengini Ayarlama
Yazı rengi, yazı tipi, yazı boyutu gibi özellikleri belirleyin. Bu özellikleri ImageProcessor kütüphanesi ile belirleyebilirsiniz.
Color textColor = Color.White;
Font font = new Font("Arial", 24);
Yazılacak Yazıyı Belirleme
Resmin üzerine yazılacak olan yazıyı belirleyin.
string text = "Merhaba Dünya";
Yazıyı Yazma
Resmin üzerine yazı yazmak için, ImageProcessor kütüphanesinin “TextLayer” sınıfını kullanın. Bu sınıf, resmin üzerine yazı yazmayı sağlar. Aşağıdaki kod parçası, resmin üzerine belirlediğimiz özelliklerde yazı yazar.
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: true))
{
TextLayer textLayer = new TextLayer()
{
Text = text,
Font = font,
FontSize = font.Size,
Position = new Point(50, 50), // Yazının konumu
TextColor = textColor,
};
imageFactory.Load("resim.jpg").Watermark(textLayer);
}
Bu adımlar, ImageProcessor kütüphanesi kullanarak C# dilinde resim üzerine yazı yazmak için temel bir örnek sunmaktadır. Bu örnekleri kullanarak, kendi projenizde resimler üzerine yazı yazmak için farklı stiller ve özellikler kullanabilirsiniz.
Dosyayı Kaydetme
Bu işlemlerden sonra artık resmi kaydedebiliriz. Örneğin resmi masaüstünde yeni.png adıyla kaydetmek istiyorsanız şu şekilde devam etmeniz gerekmektedir:
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: true))
{
TextLayer textLayer = new TextLayer()
{
Text = text,
Font = font,
FontSize = font.Size,
Position = new Point(50, 50), // Yazının konumu
TextColor = textColor,
};
imageFactory.Load("resim.jpg").Watermark(textLayer).Save("c:/users/kullanici/desktop/yeni.png");
}
Özelleştirme
Resim üzerine yazdığınız metni özelleştirmek için, ImageProcessor kütüphanesinin TextLayer sınıfında birçok özellik mevcuttur. Aşağıdaki örnekler, yazı tipi boyutunu, rengini ve arka plan rengini ayarlamak için nasıl kullanılacağına dair bazı örneklerdir.
Yazı Tipi ve Boyutunu Değiştirme
Yazı tipi boyutunu ayarlamak için:
Font font = new Font("Arial", 36);
Yazı Rengini Değiştirme
Yazı rengini ayarlamak için:
Color textColor = Color.FromArgb(255, 0, 0); // Kırmızı renk
Arkaplan Rengini Değiştirme
Arka plan rengini ayarlamak için:
Color backgroundColor = Color.FromArgb(255, 255, 255); // Beyaz renk
Metin Konumunu Değiştirme
Metnin konumunu belirlemek için, TextLayer sınıfının “Position” özelliğini kullanabilirsiniz. Bu özellik, yazının resim üzerindeki konumunu belirler. Aşağıdaki kod, metnin konumunu belirlemek için kullanılabilir.
TextLayer textLayer = new TextLayer()
{
Text = text,
Font = font,
FontSize = font.Size,
Position = new Point(50, 50), // Yazının konumu
TextColor = textColor,
};
Resmi Kaydetme
Son olarak, resmi kaydedin. ImageProcessor kütüphanesi, resmi farklı dosya biçimleri olarak kaydetmenize izin verir. Aşağıdaki örnek, resmi JPG dosyası olarak kaydeder.
.Save("resim_yazili.jpg");
Sonuç
Bu adımlar, C# dilinde ImageProcessor kütüphanesi kullanarak resim üzerine yazı yazmak için temel bir örnek sunmaktadır. Bu kütüphane, resimler üzerinde farklı efektler, filtreler ve düzenlemeler uygulamak için de kullanılabilir. ImageProcessor kütüphanesi, C# geliştiricilerinin resim işleme projelerinde işlerini kolaylaştırır ve hızlandırır.
Evet C# ile bir resim üzerine yazı yazma bu şekilde yapılmakta. Tüm C# yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.