C# ile Şekiller Çizin

Daireler, çizgiler, dikdörtgenler vb. dahil olmak üzere şekiller çizerek farklı grafik nesneleri oluşturmak genellikle gereklidir. Bu şekiller, görüntülerin ek açıklamaları için de kullanılabilir. Bu yazıda, C# ile programlı olarak farklı şekiller çizmeyi öğreneceksiniz. Çizgilerin, elipslerin, yayların ve dikdörtgenlerin nasıl çizileceğini ve bunların görüntülerini nasıl oluşturacağımızı göstereceğiz.

Şekil Çizmek için C# API’si - Ücretsiz İndirme

Farklı türde şekiller çizmek için Aspose.Imaging for .NET kullanacağız. Görüntüleri işlemek ve çizimler oluşturmak için çok çeşitli özellikler sağlayan harika bir görüntü düzenleme API’sidir. API’yi indirebilir veya NuGet’ten yükleyebilirsiniz.

PM> Install-Package Aspose.Imaging

C# kullanarak Çizgi Çiz

C# dilinde çizgi çizme adımları aşağıdadır.

  • İlk olarak, BmpOptions sınıfından bir nesne oluşturun ve BitsPerPixel özelliğini kullanarak piksel başına bit sayısını ayarlayın.
  • Ardından, Source özelliğini kullanarak StreamSource atayın.
  • Yeni bir görüntü oluşturun ve onu BmpOptions nesnesi ve görüntünün yüksekliği ve genişliği ile başlatın.
  • Graphics sınıfından bir nesne oluşturun ve onu Image nesnesi ile başlatın.
  • Graphics.Clear() yöntemini kullanarak görüntünün yüzeyini biraz renkle temizleyin.
  • Graphics.DrawLine(Pen, int, int, int, int) yöntemini kullanarak bir çizgi çizin.
  • Image.Save() yöntemini kullanarak görüntü oluşturun ve kaydedin.

Aşağıdaki kod örneği, C# dilinde bir çizginin nasıl çizileceğini gösterir.

// BmpOptions Oluştur
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions örneği için kaynak özelliğini tanımlayın
bmpCreateOptions.Source = new StreamSource();

// Image ve çağrı oluşturma yönteminin bir örneğini oluşturur.
// bmpCreateOptions nesnesi
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics sınıfının bir örneğini oluşturun ve başlatın
Graphics graphic = new Graphics(image);

// Görüntü yüzeyini Beyaz renkle temizleyin
graphic.Clear(Color.White);

// Mavi renge sahip Kalem nesnesini belirterek noktalı bir çizgi çizin ve
// Koordinat Noktaları
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Katı olan Kalem nesnesini belirterek sürekli bir çizgi çizin.
// Kırmızı renkli ve iki noktalı yapıya sahip fırça
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Katı olan Kalem nesnesini belirterek sürekli bir çizgi çizin.
// Beyaz renkli ve iki noktalı yapıya sahip fırça
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Tüm değişiklikleri kaydet
image.Save("draw_lines.bmp");

Yukarıdaki kod örneğinin çıktısı aşağıdadır.

C# ile çizgi çizme

C# kullanarak bir Elips çizin

Aşağıda, C# dilinde bir elips çizme adımları yer almaktadır.

  • İlk olarak, BmpOptions sınıfından bir nesne oluşturun ve BitsPerPixel özelliğini kullanarak piksel başına bit sayısını ayarlayın.
  • Ardından, Source özelliğini kullanarak StreamSource atayın.
  • Yeni bir görüntü oluşturun ve onu BmpOptions nesnesi ve görüntünün yüksekliği ve genişliği ile başlatın.
  • Graphics sınıfından bir nesne oluşturun ve onu Image nesnesi ile başlatın.
  • Graphics.Clear() yöntemini kullanarak görüntünün yüzeyini biraz renkle temizleyin.
  • Graphics.DrawEllipse(Pen, Rectangle) yöntemini kullanarak bir elips çizin.
  • Image.Save() yöntemini kullanarak görüntü oluşturun ve kaydedin.

Aşağıdaki kod örneği, C# dilinde bir görüntüye nasıl elips çizileceğini gösterir.

// BmpOptions Oluştur
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions örneği için kaynak özelliğini tanımlayın
bmpCreateOptions.Source = new StreamSource();

// Image ve çağrı oluşturma yönteminin bir örneğini oluşturur.
// bmpCreateOptions nesnesi
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics sınıfının bir örneğini oluşturun ve başlatın
Graphics graphic = new Graphics(image);

// Görüntü yüzeyini Beyaz renkle temizleyin
graphic.Clear(Color.White);

// Kalem nesnesinin kırmızı olduğunu belirterek noktalı bir elips şekli çizin.
// renk ve onu çevreleyen bir Dikdörtgen
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Sahip olan Kalem nesnesini belirterek sürekli bir elips şekli çizin.
// solid brush with blue renk ve onu çevreleyen bir Dikdörtgen
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Tüm değişiklikleri kaydet
image.Save("draw_ellipse.bmp");

Yukarıdaki kod örneğinin çıktısı aşağıdadır.

C# dilinde elips çizme

C# kullanarak bir Yay çizin

Aşağıda, C# dilinde bir yay çizme adımları yer almaktadır.

Aşağıdaki kod örneği, C# dilinde bir görüntünün üzerine nasıl yay çizileceğini gösterir.

// BmpOptions Oluştur
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions örneği için kaynak özelliğini tanımlayın
bmpCreateOptions.Source = new StreamSource();

// Image ve çağrı oluşturma yönteminin bir örneğini oluşturur.
// bmpCreateOptions nesnesi
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics sınıfının bir örneğini oluşturun ve başlatın
Graphics graphic = new Graphics(image);

// Görüntü yüzeyini Beyaz renkle temizleyin
graphic.Clear(Color.White);

// Kırmızı siyah olan Kalem nesnesini belirterek noktalı bir yay şekli çizin.
// renk ve koordinatlar, yükseklik, genişlik, başlangıç ve bitiş açıları
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Ekrana yay çizin
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Tüm değişiklikleri kaydet
image.Save("draw_arc.bmp");

Yukarıdaki kod örneğinin çıktısı aşağıdadır.

C#'ta yay çizmek

C# kullanarak bir Dikdörtgen çizin

Aşağıda, C# dilinde bir dikdörtgen çizme adımları yer almaktadır.

  • İlk olarak, BmpOptions sınıfından bir nesne oluşturun ve BitsPerPixel özelliğini kullanarak piksel başına bit sayısını ayarlayın.
  • Ardından, Source özelliğini kullanarak StreamSource atayın.
  • Yeni bir görüntü oluşturun ve onu BmpOptions nesnesi ve görüntünün yüksekliği ve genişliği ile başlatın.
  • Graphics sınıfından bir nesne oluşturun ve onu Image nesnesi ile başlatın.
  • Graphics.Clear() yöntemini kullanarak görüntünün yüzeyini biraz renkle temizleyin.
  • Graphics.DrawRectangle(Pen, Rectangle) yöntemini kullanarak bir dikdörtgen çizin.
  • Image.Save() yöntemini kullanarak görüntü oluşturun ve kaydedin.

Aşağıdaki kod örneği, C# dilinde bir görüntüye nasıl dikdörtgen çizileceğini gösterir.

// BmpOptions Oluştur
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions örneği için kaynak özelliğini tanımlayın
bmpCreateOptions.Source = new StreamSource();

// Image ve çağrı oluşturma yönteminin bir örneğini oluşturur.
// bmpCreateOptions nesnesi
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics sınıfının bir örneğini oluşturun ve başlatın
Graphics graphic = new Graphics(image);

// Görüntü yüzeyini Beyaz renkle temizleyin
graphic.Clear(Color.White);

// Kalem nesnesinin kırmızı olduğunu belirterek noktalı bir dikdörtgen şekli çizin.
// renk ve dikdörtgen yapı
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Sahip olan Kalem nesnesini belirterek sürekli bir dikdörtgen şekli çizin.
// solid brush with blue renk ve dikdörtgen yapı
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Tüm değişiklikleri kaydet
image.Save("draw_reactangle.bmp");

Yukarıdaki kod örneğinin çıktısı aşağıdadır.

C# ile dikdörtgen çiz

C# .NET Görüntü Çizim API’si - Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans alabilirsiniz ve değerlendirme sınırlamaları olmadan şekiller çizebilirsiniz.

Çözüm

Bu makalede, C# ile şekil çizmeyi öğrendiniz. Görüntülere programlı olarak çizgiler, elipsler, yaylar ve dikdörtgenler çizmeyi ele aldık. Sağlanan kod örneklerini C# uygulamalarınıza kolayca entegre edebilirsiniz.

Devamını oku

Belgeleri kullanarak .NET görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca forumumuz aracılığıyla da sorularınızı bizimle paylaşabilirsiniz.

Ayrıca bakınız