Bir önceki makalemde, size .NET Graphics API’miz - Aspose.Drawing for .NET hakkında genel bir bakış sunmuştum. Bununla birlikte C# kullanarak sıfırdan imaj oluşturmayı veya mevcut imajlar üzerine grafik çizmeyi gördük. Bu yazımızda bir adım öteye giderek ASP.NET web uygulaması, Windows uygulaması vb. .NET uygulamaları içerisinde çeşitli grafik nesneleri çizerek 2 boyutlu çizimler oluşturmayı öğreneceğiz.
.NET Graphics API kullanarak çizimlerimiz içerisinde çizeceğimiz vektörel grafikler aşağıdadır.
- C# kullanarak bir Çizim oluşturun
- Çizimde Bir Yay Çizin
- Bir Çizimde Bezier Spline Çizme
- Bir Çizimde Kardinal Spline Çizin
- Bir Teknik Resimde Kapalı Bir Eğri Çizin
- Çizimde Elips Çizin
- Çizimde Çizgiler Çizin
- Çizimde Yol Çizin
- Çizimde Çokgen Çizin
- Çizimde Dikdörtgen Çizin
Başlamadan önce, .NET uygulamanıza Aspose.Drawing for .NET’i kurduğunuzdan emin olun. Yükleme yöntemleri hakkında bu yazıda okuyabilirsiniz.
C# kullanarak Sıfırdan Çizim Oluşturma
Öncelikle boş bir çizimin nasıl oluşturulacağına ve PNG görüntüsü olarak nasıl kaydedileceğine bir göz atalım. Adımlar pasta kadar basit.
- Yeni bir Bitmap nesnesi oluşturun.
- Bitmap.Save(string) yöntemini kullanarak çizimi PNG formatında kaydedin.
Çizimi diğer görüntü formatlarında da kaydedebilirsiniz. Aşağıdaki kod örneği, C# kullanarak sıfırdan bir çizimin nasıl oluşturulacağını gösterir.
// C# .NET'te yeni bir çizim oluşturma ve PNG olarak işleme örneği.
// Daha fazla örnek için https://github.com/aspose-drawing/Aspose.Drawing-for-.NET ve https://docs.aspose.com/drawing/net/ adresine bakın.
// Yeni bir çizim oluştur
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// Çizimi kaydet
bitmap.Save(RunExamples.GetDataDir() + @"drawing.png");
Çizimde C# kullanarak bir Yay Çizin
Çizim içinde nasıl yay çizileceğini kontrol edelim. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.
- Bitmap sınıfının bir örneğini tanımlayın.
- Bitmap nesnesinden Graphics sınıfından bir nesne başlatın.
- Yayı çizmek için bir Kalem nesnesi oluşturun.
- Bir yay çizmek için Graphics.DrawArc(Pen, Single, Single, Single, Single, Single, Single) yöntemini kullanın.
- Bitmap.Save(string) yöntemini kullanarak çizimi bir görüntü olarak kaydedin.
Aşağıdaki kod örneği, çizimde C# kullanarak bir yayın nasıl çizileceğini gösterir.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawArc(pen, 0, 0, 700, 700, 0, 180);
bitmap.Save("DrawArc.png");
C# kullanarak Çizimde Bezier Spline çizin
Aşağıdakiler, bir çizim içinde bir bezier spline çizme adımlarıdır.
- Bitmap sınıfından bir nesne oluşturun.
- Bitmap nesnesinden Graphics sınıfından bir nesne başlatın.
- Grafikleri çizmek için bir Kalem nesnesi oluşturun.
- Bezier Spline çizmek için Graphics.DrawBezier(Pen, PointF, PointF, PointF, PointF) yöntemini kullanın.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir Bezier Spline oluşturur.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
PointF p1 = new PointF(0, 0); // start point
PointF c1 = new PointF(0, 800); // first control point
PointF c2 = new PointF(1000, 0); // second control point
PointF p2 = new PointF(1000, 800); // end point
graphics.DrawBezier(pen, p1, c1, c2, p2);
bitmap.Save("DrawBezierSpline.png");
C# kullanarak Çizimde Kardinal Spline Ekleme
.NET Graphics API’mizi kullanarak bir kardinal spline çizmek için aşağıdaki adımları kullanın.
- Bitmap sınıfından bir nesne oluşturun.
- Bitmap nesnesinden Graphics sınıfından bir nesne oluşturun.
- Çizim için bir Kalem nesnesi oluşturun.
- Graphics.DrawCurve(Pen,Point[]) yöntemini kullanarak ana spline çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi bir görüntü olarak kaydedin.
Aşağıdaki C# kod örneği, Aspose.Drawing for .NET kullanarak bir kardinal spline çiziyor.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
bitmap.Save("DrawCardinalSpline.png");
C# kullanarak Teknik Resimde Kapalı Eğri Ekleme
Diğer grafik nesneleri çizdiğiniz şekilde kapalı bir eğri de çizebilirsiniz. Bunun için adımlar aşağıdadır.
- Bir Bitmap nesnesi oluşturun.
- Graphics sınıfından bir nesne oluşturun ve bunu Bitmap nesnesinden başlatın.
- Kapalı eğriyi çizmek için bir Kalem nesnesi oluşturun.
- Graphics.DrawClosedCurve(Pen,Point[]) yöntemini kullanarak kapalı bir eğri çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
Aşağıdaki C# kod örneğini kullanarak kapalı bir eğri çizebilirsiniz.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawClosedCurve(pen, new Point[] { new Point(100, 700), new Point(350, 600), new Point(500, 500), new Point(650, 600), new Point(900, 700) });
bitmap.Save("DrawClosedCurve.png");
C# kullanarak Çizimde Elips Çizme
Aspose.Drawing for .NET kullanarak bir çizimde elips çizme adımları aşağıdadır.
- Bitmap sınıfının bir örneğini oluşturun.
- Graphics sınıfının bir örneğini tanımlayın ve onu Bitmap nesnesinden başlatın.
- Elips çizmek için bir Kalem nesnesi kullanın.
- Graphics.DrawEllipse(Pen, Single, Single, Single, Single) yöntemini kullanarak bir elips çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi bir görüntü olarak kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir elipsin nasıl çizileceğini gösterir.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawEllipse(pen, 10, 10, 900, 700);
bitmap.Save("DrawEllipse.png");
C# kullanarak Çizimde Çizgiler Çizin
Çizgiler, çizimleri oluşturmak için temel nesnelerden biridir. Aspose’ Graphics API kullanarak bir çizimdeki çizgileri çizmek için izlenecek adımlar aşağıdadır.
- Bitmap nesnesinin örneğini oluşturun.
- Yeni bir Graphics nesnesi oluşturun ve onu Bitmap nesnesinden başlatın.
- Çizgiyi çizmek için bir Kalem nesnesi tanımlayın.
- Graphics.DrawLine(Pen, Int32, Int32, Int32, Int32) yöntemini kullanarak bir çizgi çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
Aşağıdaki kod örneği, C# kullanılarak bir çizim içinde çizgilerin nasıl çizileceğini gösterir.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
bitmap.Save("DrawLines.png");
Çizimde C# Kullanarak Bir Yol Çizin
C# kullanarak bir çizim içinde yol çizme adımları aşağıdadır.
- Bitmap nesnesinin örneğini oluşturun.
- Graphics sınıfından bir nesne oluşturun ve onu Bitmap nesnesinden başlatın.
- Yolu çizmek için bir Kalem nesnesi tanımlayın.
- GraphicsPath sınıfının bir örneğini oluşturun.
- Yol koleksiyonuna grafik ekleyin.
- Graphics.DrawPath(Pen, GraphicsPath) yöntemini kullanarak yolu çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir çizim içinde yol çizmeyi gösterir.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
using System.Drawing.Drawing2D;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
GraphicsPath path = new GraphicsPath();
path.AddLine(100, 100, 1000, 400);
path.AddLine(1000, 600, 300, 600);
path.AddRectangle(new Rectangle(500, 350, 200, 400));
path.AddEllipse(10, 250, 450, 300);
graphics.DrawPath(pen, path);
bitmap.Save("DrawPath.png");
C# kullanarak Çizimde Çokgen Çizin
Aşağıda, Aspose.Drawing for .NET kullanarak bir çizim içinde çokgen çizme adımları yer almaktadır.
- Bitmap nesnesinin örneğini oluşturun.
- Bir Graphics nesnesi tanımlayın ve onu Bitmap nesnesinden başlatın.
- Çokgeni çizmek için bir Kalem nesnesi tanımlayın.
- Graphics.DrawPolygon(Pen,Point[]) yöntemini kullanarak bir çokgen çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
C# kullanarak bir çizim içinde bir çokgeni bu şekilde çizebilirsiniz.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
bitmap.Save("DrawPolygon.png");
C# kullanarak Çizim içinde bir Dikdörtgen çizin
Son olarak, bir dikdörtgen çizmek. Dikdörtgen çizmek için izlenecek adımlar aşağıdadır.
- Bir Bitmap nesnesi oluşturun.
- Bir Graphics nesnesi oluşturun ve onu Bitmap nesnesinden başlatın.
- Dikdörtgeni çizmek için bir Kalem nesnesi tanımlayın.
- Graphics.DrawRectangle(Pen, Int32, Int32, Int32, Int32) yöntemini kullanarak bir dikdörtgen çizin.
- Bitmap.Save(string) yöntemini kullanarak çizimi kaydedin.
Aşağıdaki C# kod örneği, bir çizim içinde bir dikdörtgen çizer.
// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-drawing/Aspose.Drawing-for-.NET adresine gidin.
using System.Drawing;
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawRectangle(pen, 10, 10, 900, 700);
bitmap.Save("DrawRectangle.png");
Çözüm
Bu yazıda, C# kullanarak programlı olarak çeşitli grafik nesnelerin bir çizim içinde nasıl çizilebileceğini gördük. Adım adım kılavuz ve kod örnekleri, çizimlerde çizgiler, dikdörtgenler, çokgenler, yaylar, bezier spline, kardinal spline, eğriler ve elipslerin nasıl çizileceğini gösterdi. Belgeleri kullanarak .NET Graphics API’miz hakkında daha fazla bilgi edinebilirsiniz.