
در مقاله قبلی خود، یک نمای کلی از NET Graphics API - Aspose.Drawing for .NET را به شما ارائه دادم. در کنار آن، نحوه ایجاد تصاویر از ابتدا یا ترسیم گرافیک روی تصاویر موجود با استفاده از C# را دیده ایم. در این مقاله یک قدم جلوتر می رویم و یاد می گیریم که چگونه با رسم اشیاء گرافیکی مختلف در داخل برنامه های دات نت مانند وب ASP.NET، اپلیکیشن ویندوز و غیره، نقشه های دو بعدی ایجاد کنیم.
در زیر گرافیک های برداری است که می خواهیم با استفاده از NET Graphics API در نقشه های خود ترسیم کنیم.
- ایجاد یک طراحی با استفاده از C#
- یک قوس در نقاشی بکشید
- یک Spline Bezier را در یک طراحی بکشید
- یک کاردینال اسپلاین در یک نقاشی بکشید
- یک منحنی بسته در یک نقاشی بکشید
- یک بیضی در یک نقاشی بکشید
- رسم خطوط در نقاشی
- یک مسیر در نقاشی بکشید
- یک چند ضلعی در نقاشی بکشید
- رسم مستطیل در نقاشی
قبل از شروع، مطمئن شوید که 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");
رسم کمان در طراحی با استفاده از سی شارپ
بیایید بررسی کنیم که چگونه یک قوس در داخل نقاشی بکشیم. مراحل زیر برای انجام این عملیات آورده شده است.
- یک نمونه از کلاس Bitmap را تعریف کنید.
- یک شی از کلاس Graphics را از شی Bitmap راه اندازی کنید.
- یک شی Pen ایجاد کنید تا با آن قوس بکشید.
- برای رسم کمان از روش Graphics.DrawArc(Pen, Single, Single, 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.DrawArc(pen, 0, 0, 700, 700, 0, 180);
bitmap.Save("DrawArc.png");

رسم Spline Bezier در طراحی با استفاده از C#
مراحل زیر برای رسم یک spline bezier در داخل یک طراحی آمده است.
- یک شی از کلاس Bitmap ایجاد کنید.
- یک شی از کلاس Graphics را از شی Bitmap راه اندازی کنید.
- یک شی Pen برای ترسیم گرافیک ایجاد کنید.
- از روش Graphics.DrawBezier(Pen, PointF, PointF, PointF, PointF) برای ترسیم Bezier Spline استفاده کنید.
- طراحی را با استفاده از روش Bitmap.Save(string) ذخیره کنید.
نمونه کد زیر با استفاده از سی شارپ یک 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");

اضافه کردن یک کاردینال اسپلاین در طراحی با استفاده از سی شارپ
از مراحل زیر برای ترسیم اسپلاین اصلی با استفاده از 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 آورده شده است.
- شیء Bitmap را نمونهسازی کنید.
- یک شی Graphics جدید ایجاد کنید و آن را از شی Bitmap مقداردهی کنید.
- یک شی Pen برای رسم خط تعریف کنید.
- با استفاده از روش Graphics.DrawLine(Pen, Int32, Int32, Int32, Int32) یک خط بکشید.
- طراحی را با استفاده از روش 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.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");

با استفاده از سی شارپ یک مستطیل در نقشه بکشید
آخرین اما نه کم اهمیت، کشیدن یک مستطیل. مراحل زیر برای رسم مستطیل آورده شده است.
- یک شی Bitmap ایجاد کنید.
- یک شی Graphics ایجاد کنید و آن را از شی Bitmap مقداردهی کنید.
- برای رسم مستطیل یک شی Pen تعریف کنید.
- با استفاده از روش Graphics.DrawRectangle(Pen, Int32, Int32, Int32, Int32) یک مستطیل بکشید.
- طراحی را با استفاده از روش 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.DrawRectangle(pen, 10, 10, 900, 700);
bitmap.Save("DrawRectangle.png");

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