ترسیم گرافیک با استفاده از سی شارپ

در مقاله قبلی خود، یک نمای کلی از NET Graphics API - Aspose.Drawing for .NET را به شما ارائه دادم. در کنار آن، نحوه ایجاد تصاویر از ابتدا یا ترسیم گرافیک روی تصاویر موجود با استفاده از C# را دیده ایم. در این مقاله یک قدم جلوتر می رویم و یاد می گیریم که چگونه با رسم اشیاء گرافیکی مختلف در داخل برنامه های دات نت مانند وب ASP.NET، اپلیکیشن ویندوز و غیره، نقشه های دو بعدی ایجاد کنیم.

در زیر گرافیک های برداری است که می خواهیم با استفاده از NET Graphics API در نقشه های خود ترسیم کنیم.

قبل از شروع، مطمئن شوید که Aspose.Drawing را برای دات نت در برنامه دات نت خود نصب کرده اید. شما می توانید در مورد روش های نصب در [این پست] بخوانید.

ایجاد یک طراحی از ابتدا با استفاده از C#

اول از همه، بیایید نگاهی به نحوه ایجاد یک نقاشی خالی و ذخیره آن به عنوان یک تصویر PNG بیندازیم. مراحل به سادگی پای است.

  • یک شی Bitmap جدید ایجاد کنید.
  • با استفاده از روش Bitmap.Save(string) طراحی را با فرمت PNG ذخیره کنید.

می‌توانید طراحی را در فرمت‌های تصویر دیگر نیز ذخیره کنید. نمونه کد زیر نحوه ایجاد یک طراحی از ابتدا با استفاده از C# را نشان می دهد.

// مثالی برای ایجاد یک طراحی جدید در C#.NET و رندر به صورت PNG. 
// برای مثال‌های بیشتر به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET و https://docs.aspose.com/drawing/net/ مراجعه کنید.
// یک نقاشی جدید ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// ذخیره نقاشی
bitmap.Save(RunExamples.GetDataDir() + @"drawing.png");

رسم کمان در طراحی با استفاده از سی شارپ

بیایید بررسی کنیم که چگونه یک قوس در داخل نقاشی بکشیم. مراحل زیر برای انجام این عملیات آورده شده است.

نمونه کد زیر نحوه رسم قوس در نقاشی با استفاده از C# را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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");
یک قوس بکشید

رسم Spline Bezier در طراحی با استفاده از C#

مراحل زیر برای رسم یک spline bezier در داخل یک طراحی آمده است.

نمونه کد زیر با استفاده از سی شارپ یک Bezier Spline ایجاد می کند.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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");
Spline Bezier را بکشید

اضافه کردن یک کاردینال اسپلاین در طراحی با استفاده از سی شارپ

از مراحل زیر برای ترسیم اسپلاین اصلی با استفاده از NET Graphics API استفاده کنید.

  • یک شی از کلاس Bitmap را نمونه سازی کنید.
  • یک شی از کلاس Graphics از شی Bitmap ایجاد کنید.
  • یک شی Pen برای طراحی ایجاد کنید.
  • با استفاده از روش [Graphics.DrawCurve(Pen, Point[]]]20 اسپلاین کاردینال بکشید.
  • با استفاده از روش Bitmap.Save(string) طراحی را به عنوان تصویر ذخیره کنید.

نمونه کد C# زیر با استفاده از Aspose.Drawing برای دات نت یک اسپلاین اصلی ترسیم می کند.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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#

شما همچنین می توانید یک منحنی بسته را به همان روشی که سایر اشیاء گرافیکی را ترسیم کرده اید رسم کنید. مراحل زیر برای این کار آمده است.

  • یک شی Bitmap را نمونه سازی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را از شی Bitmap مقداردهی کنید.
  • یک شی Pen برای رسم منحنی بسته ایجاد کنید.
  • با استفاده از روش Graphics.DrawClosedCurve(Pen,Point[]) یک منحنی بسته رسم کنید.
  • طراحی را با استفاده از روش Bitmap.Save(string) ذخیره کنید.

با استفاده از نمونه کد سی شارپ زیر می توانید یک منحنی بسته رسم کنید.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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#

مراحل زیر برای رسم بیضی در طراحی با استفاده از Aspose.Drawing برای دات نت آورده شده است.

  • یک نمونه از کلاس Bitmap ایجاد کنید.
  • یک نمونه از کلاس Graphics را تعریف کنید و آن را از شی Bitmap مقداردهی کنید.
  • از یک شی Pen برای ترسیم بیضی استفاده کنید.
  • با استفاده از روش Graphics.DrawEllipse(Pen, Single, Single, Single, Single) یک بیضی بکشید.
  • با استفاده از روش Bitmap.Save(string) طراحی را به عنوان تصویر ذخیره کنید.

نمونه کد زیر نحوه رسم بیضی با استفاده از C# را نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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#

خطوط یکی از اشیاء اساسی برای ایجاد نقشه ها هستند. مراحل زیر برای رسم خطوط در نقاشی با استفاده از Aspose’ Graphics API آورده شده است.

نمونه کد زیر نحوه رسم خطوط در یک طراحی با استفاده از C# را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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");
رسم خطوط

با استفاده از سی شارپ یک مسیر در نقشه بکشید

مراحل زیر برای ترسیم یک مسیر در یک نقاشی با استفاده از C# است.

  • شیء Bitmap را نمونه‌سازی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را از شی Bitmap مقداردهی کنید.
  • یک شی Pen برای ترسیم مسیر تعریف کنید.
  • یک نمونه از کلاس GraphicsPath ایجاد کنید.
  • گرافیک را به مجموعه مسیر اضافه کنید.
  • مسیر را با استفاده از روش Graphics.DrawPath(Pen, GraphicsPath) رسم کنید.
  • طراحی را با استفاده از روش Bitmap.Save(string) ذخیره کنید.

نمونه کد زیر نشان می دهد که چگونه می توان با استفاده از سی شارپ یک مسیر را در داخل یک طراحی ترسیم کرد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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#

مراحل زیر برای رسم چند ضلعی در یک طراحی با استفاده از Aspose.Drawing برای دات نت است.

  • شیء Bitmap را نمونه سازی کنید.
  • یک شی Graphics را تعریف کنید و آن را از شی Bitmap مقداردهی کنید.
  • یک شی Pen برای ترسیم چند ضلعی تعریف کنید.
  • با استفاده از روش Graphics.DrawPolygon(Pen,Point[]) یک چند ضلعی رسم کنید.
  • طراحی را با استفاده از روش Bitmap.Save(string) ذخیره کنید.

به این ترتیب می توانید با استفاده از سی شارپ یک چند ضلعی در داخل یک نقاشی بکشید.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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");
ترسیم چند ضلعی

با استفاده از سی شارپ یک مستطیل در نقشه بکشید

آخرین اما نه کم اهمیت، کشیدن یک مستطیل. مراحل زیر برای رسم مستطیل آورده شده است.

نمونه کد سی شارپ زیر یک مستطیل را در یک طراحی ترسیم می کند.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-drawing/Aspose.Drawing-for-.NET بروید

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");
رسم مستطیل

نتیجه

در این مقاله، دیدیم که چگونه می توان اشیاء گرافیکی مختلف را در داخل یک طراحی به صورت برنامه نویسی با استفاده از سی شارپ ترسیم کرد. راهنمای گام به گام و نمونه کد نحوه رسم خطوط، مستطیل ها، چند ضلعی ها، کمان ها، خط بزیر، اسپلاین کاردینال، منحنی ها و بیضی ها را در نقشه ها نشان می دهد. می‌توانید با استفاده از مستندات درباره .NET Graphics API بیشتر بیاموزید.

همچنین ببینید