Bilgisayar grafikleri oluşturmak ve depolamak için bir bitmap kullanılır. Bitmap görüntüleri, web sayfalarında ve kameralar, akıllı telefonlar vb. dijital cihazlarda yaygın olarak kullanılmaktadır. En yaygın bitmap grafik dosyası türleri BMP, GIF, PNG ve ‘dir. JPEG. Bu yazımızda C# ile bitmap oluşturmayı öğreneceğiz.
Bu yazıda aşağıdaki konular ele alınacaktır:
- Bitmap Oluşturmak, Yüklemek, Doldurmak ve Çizmek için C# API’si
- Sıfırdan Yeni Bir Bitmap Oluşturun
- Bayt Dizisinden Bir Bit Eşlem Oluşturun
- Bitmap’i Görüntü Dosyası Olarak Kaydet
- Bitmap Üzerinde Şekiller Çizin
- Bitmap Görüntüsü Üzerine Metin Çizin
- Bir Bitmap’i Düz Renkle Doldurun
- Bitmap Olarak Görüntü Yükleyin
- Mevcut Bir Görüntüyü Bitmap Kullanarak Yeniden Boyutlandırın
Bitmap Oluşturmak, Yüklemek, Doldurmak ve Çizmek için C# API’si - Ücretsiz İndirme
Bir bitmap oluşturmak için Aspose.Drawing for .NET API’sini kullanacağız. Metin, geometri ve görüntüleri programlı olarak çizmek için platformlar arası bir 2B grafik kitaplığıdır. [Desteklenen dosya biçimlerinin] yüklenmesine, kaydedilmesine ve değiştirilmesine 15 izin verir.
Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.
PM> Install-Package Aspose.Drawing
C#’ta Yeni Bir Bit Eşlem Oluşturun
Aşağıda verilen adımları izleyerek sıfırdan yeni bir bitmap oluşturabiliriz:
- İlk olarak, belirtilen boyut ve biçimde Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Ardından, FromImage() yöntemini kullanarak Bitmap nesnesinden yeni bir Graphics nesnesi oluşturun.
- Ardından, belirtilen renk ve boyuta sahip bir Pen sınıfı nesnesi başlatın.
- Bundan sonra, belirtilen boyutta bir Elips çizmek için DrawEllipse() yöntemini çağırın.
- Son olarak, çıktı görüntüsünü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# dilinde yeni bir bit eşlemin nasıl oluşturulacağını gösterir.
// Bu kod örneği, C# dilinde programlı olarak yeni bir bit eşlemin nasıl oluşturulacağını gösterir.
// Bitmap nesnesini başlat
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Yeni bir Grafik oluştur
Graphics graphics = Graphics.FromImage(bitmap);
// Bir kalemi başlat
Pen pen = new Pen(Color.Red, 5);
// bir dikdörtgen çiz
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.png");
C#’ta Bayt Dizisinden Bit Eşlem Oluşturma
Aşağıda verilen adımları izleyerek bellek akışı baytlarından bir bitmap oluşturabiliriz:
- Görüntü dosyasını bir bayt dizisine okuyun.
- Bayt dizisi nesnesini kullanarak MemoryStream’in yeni bir örneğini oluşturun.
- MemoryStream nesnesiyle Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Son olarak, görüntüyü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# dilinde MemoryStream kullanılarak Byte Array’den bir bit eşlemin nasıl oluşturulacağını gösterir.
// Bu kod örneği, C# dilinde bellek akışı baytlarından yeni bir bit eşlemin nasıl oluşturulacağını gösterir.
// Resmi yükleyin ve tüm baytları okuyun
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");
// Bellek akışı oluştur
MemoryStream stream = new MemoryStream(file);
// Yeni bir bit eşlem oluştur
Bitmap bitmap = new Bitmap(stream);
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.jpg");
C# Bit eşlemi bir dosyaya kaydet
Daha önce belirtilen adımları izleyerek bitmap görüntüsünü desteklenen çeşitli dosya biçimlerinde bir dosyaya kaydedebiliriz. Ancak son adımda Save(string filename, ImageFormat format) metodunu kullanarak imaj dosyasını kaydederken sadece istenilen save file format uzantısını belirtmemiz gerekiyor.
- Bir Bitmap’i BMP Dosyası Olarak Kaydetme
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
- Bir Bitmap’i PNG Dosyası Olarak Kaydetme
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
- Bir Bitmap’i JPG Dosyası Olarak Kaydetme
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
- Bir Bitmap’i GIF Dosyası Olarak Kaydetme
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);
C# Bitmap Üzerinde Çizim
Daha önce bahsedilen adımları izleyerek bir bitmap üzerine çeşitli şekiller ve resimler çizebiliriz. Ancak, istenen şekilleri çizmek için sadece şekle özgü yöntemleri kullanmamız gerekiyor.
Bitmap üzerinde çizmek için sağlanan belirli yöntemleri kullanarak aşağıdaki şekilleri çizebiliriz:
- Yay: DrawArc() yöntemini kullanarak bir Yay çizebiliriz.
- Bezier: DrawBezier() yöntemini kullanarak bir Bezier çizebiliriz.
- Bir dizi Bézier spline’ı: DrawBeziers() yöntemini kullanarak bir dizi Bezier spline çizebiliriz.
- Eğri: DrawCurve() yöntemini kullanarak Eğri bir şekil çizebiliriz.
- ClosedCurve: DrawClosedCurve() yöntemini kullanarak kapalı bir eğri çizebiliriz.
- Elips: DrawEllipse() yöntemini kullanarak bir Elips çizebiliriz.
- Çizgi: DrawLine() yöntemini kullanarak bir Çizgi çizebiliriz.
- Bir dizi Çizgi: DrawLines() yöntemini kullanarak bir dizi Çizgi çizebiliriz.
- Yol: DrawPath() yöntemini kullanarak bir Yol çizebiliriz.
- Pasta: DrawPie() yöntemini kullanarak bir Pasta çizebiliriz.
- Çokgen: DrawPolygon() yöntemini kullanarak bir Çokgen çizebiliriz.
- Dikdörtgen: DrawRectangle() yöntemini kullanarak bir Dikdörtgen çizebiliriz.
- Bir dizi Dikdörtgen: DrawRectangles() yöntemini kullanarak bir dizi Dikdörtgen çizebiliriz.
Aşağıdaki yöntemleri kullanarak görüntüleri bitmap üzerine çizebiliriz:
- Simge: Belirtilen Simge ile temsil edilen görüntüyü, DrawIcon() yöntemini kullanarak bir Rectangle yapısı ile belirtilen alan içinde çizebiliriz.
- Görüntü: DrawImage() yöntemini kullanarak belirtilen herhangi bir Görüntüyü çizebiliriz.
C# Bitmap Üzerinde Metin Çiz
Aşağıda verilen adımları izleyerek herhangi bir diziyi bir bitmap üzerinde çizebiliriz:
- İlk olarak, belirtilen boyutta Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Ardından, FromImage() yöntemini kullanarak Bitmap nesnesinden yeni bir Graphics nesnesi oluşturun.
- Ardından, istenen yazı tipi ailesi, stili ve boyutuna sahip bir Yazı Tipi sınıfı nesnesi tanımlayın.
- Bu arada, belirtilen renkle bir SolidBrush nesnesi başlatın.
- Bundan sonra, gösterilecek metin, Font ve Brush nesnelerini bağımsız değişken olarak kullanarak DrawString() yöntemini çağırın.
- Son olarak, çıktı görüntüsünü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# dilinde bir bitmap üzerinde nasıl metin çizileceğini gösterir.
// Bu kod örneği, C# dilinde programlı olarak yeni bir bit eşlem üzerinde bir metnin nasıl çizileceğini gösterir.
// Bitmap nesnesini başlat
Bitmap bitmap = new Bitmap(500,200);
// Yeni bir Grafik oluştur
Graphics graphics = Graphics.FromImage(bitmap);
// Yazı Tipi Başlat
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);
// Bir Fırça Başlat
var brush = new SolidBrush(Color.Red);
// bir dikdörtgen çiz
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
Bir Bitmap’i C#’ta Düz Renkle Doldurun
Dolu bir dikdörtgen kullanarak bir bitmap’i düz renkle doldurabilir ve aşağıda verilen adımları izleyerek yeni bir bitmap’e kaydedebiliriz:
- İlk olarak, belirtilen boyutta Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Ardından, FromImage() yöntemini kullanarak Bitmap nesnesinden yeni bir Graphics nesnesi oluşturun.
- Ardından, belirtilen konum ve boyuta sahip bir Rectangle sınıfı nesnesi başlatın.
- Bundan sonra, FillRectangle() yöntemini brush color ve Rectangle ile çağırın.
- Son olarak, çıktı görüntüsünü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# dilinde bir dikdörtgen kullanarak bir bit eşlemin düz renkle nasıl doldurulacağını gösterir.
// Bu kod örneği, C# dilinde doldurulmuş dikdörtgenle yeni bir bit eşlemin nasıl oluşturulacağını gösterir.
// Bitmap'i belirtilen boyutta başlat
Bitmap bitmap = new Bitmap(500, 500);
// Yeni bir Grafik oluştur
Graphics graph = Graphics.FromImage(bitmap);
// Bir dikdörtgen tanımlayın
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);
// Dolu bir dikdörtgen çizin
graph.FillRectangle(Brushes.Gray, ImageSize);
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.png");
C# kullanarak Bitmap’te Görüntü Yükleme
Ayrıca, mevcut bir görüntüyü bir bitmap’e yükleyebilir ve aşağıda verilen adımları izleyerek yeni bir bitmap olarak kaydedebiliriz:
- İlk olarak, Bitmap sınıfını kullanarak bir resim yükleyin.
- Ardından, belirtilen boyutta Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Ardından, yeni oluşturulan Bitmap nesnesinden FromImage() yöntemini kullanarak yeni bir Graphics nesnesi oluşturun.
- Bundan sonra, bağımsız değişken olarak görüntü ve konum koordinatlarıyla DrawImage() yöntemini çağırın.
- Son olarak, çıktı görüntüsünü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir bitmap’te bir görüntünün nasıl yükleneceğini gösterir.
// Bu kod örneği, bir görüntünün bir bit eşlemi nasıl yükleneceğini ve yeni bir bit eşlem olarak nasıl kaydedileceğini gösterir.
// Resmi yükleyin:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// Bitmap'i belirtilen boyutta başlat
Bitmap bitmap = new Bitmap(1000, 1000);
// Yeni bir Grafik oluştur
Graphics graphics = Graphics.FromImage(bitmap);
// Belirtilen konumda resim çizin
graphics.DrawImage(image, 10, 10);
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.png");
C#’ta Bitmap Kullanarak Görüntüyü Yeniden Boyutlandırma
Mevcut bir görüntüyü bir bitmap olarak yükleyebilir, yeniden boyutlandırabilir ve aşağıda verilen adımları izleyerek yeni bir bitmap olarak kaydedebiliriz:
- Bitmap sınıfını kullanarak mevcut bir görüntüyü yükleyin.
- Yüklenen görüntü ve belirtilen boyut ile Bitmap sınıfını kullanarak yeni bir bitmap oluşturun.
- Son olarak, çıktı görüntüsünü Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, varolan bir görüntünün nasıl yeniden boyutlandırılacağını ve C# dilinde yeni bir bit eşlem olarak nasıl kaydedileceğini gösterir.
// Bu kod örneği, varolan bir görüntünün yeniden boyutlandırılmasının ve C# dilinde yeni bir bit eşlemin nasıl oluşturulacağını gösterir.
// Resmi yükleyin:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// Yüklenen görüntünün boyutunun yarısı kadar yeni bir bitmap oluşturun:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));
// Dosya 'yı kaydet
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Ücretsiz Geçici Lisans Alın
Aspose.Drawing for .NET’i değerlendirme sınırlamaları olmaksızın denemek için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu makalede, şunların nasıl yapılacağını öğrendik:
- yeni bir bit eşlem oluştur;
- bir bitmap üzerinde dikdörtgen, elips vb. çizin;
- mevcut bir görüntüyü yükleyin;
- mevcut bir görüntüyü yeniden boyutlandırın ve yeni bir boyutta yeni bir bitmap oluşturun;
- MemoryStream veya bayt dizisinden bir Bitmap görüntüsünü bir dosyaya kaydedin;
- C#’ta bir bit eşlemin genişliğini ve yüksekliğini ayarlayın.
C#’ta yeni bir bitmap oluşturmanın yanı sıra dokümantasyon kullanarak Aspose.Drawing for .NET hakkında daha fazla bilgi edinebilir ve API tarafından desteklenen çeşitli özellikleri keşfedebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen ücretsiz destek forumumuzda bizimle iletişime geçmekten çekinmeyin.