برنامه نویسی گرافیکی در سی شارپ ممکن است ساده تر یا سخت تر از آن چیزی که فکر می کنید به نظر برسد. در این مقاله یاد می گیرید که چگونه به صورت برنامه ای گرافیک های برداری خیره کننده ایجاد کنید. چه در حال ایجاد گرافیک به عنوان بخشی از پروژه فعلی خود باشید و چه به عنوان پایه بازی یا برنامه خود! شما یاد خواهید گرفت که به راحتی تصاویری زیبا خلق کنید. بیا شروع کنیم!
موضوعات زیر در این مقاله پوشش داده خواهد شد:
- API برنامهنویسی گرافیک برداری C#
- [ساختار یک گرافیک برداری 2
- برنامه نویسی گرافیکی با استفاده از C#
- منحنی ها در برنامه نویسی گرافیکی
- چند ضلعی ها و مستطیل ها
- نحوه ترسیم خطوط
- [چگونه مسیرها را ترسیم کنیم7
- یک منطقه پر را رسم کنید
C# API برنامه نویسی گرافیک برداری - دانلود رایگان
برای ایجاد گرافیک های برداری خیره کننده در سی شارپ، از Aspose.Drawing for .NET API استفاده خواهیم کرد. این یک کتابخانه گرافیکی دوبعدی بین پلتفرمی برای ترسیم متن، هندسه و تصاویر به صورت برنامهریزی شده است. این امکان بارگیری، ذخیره و دستکاری [فرمت های فایل پشتیبانی شده] را فراهم می کند.
لطفاً یا DLL API را دانلود کنید یا با استفاده از NuGet آن را نصب کنید.
PM> Install-Package Aspose.Drawing
ساختار یک گرافیک برداری
گرافیک برداری از اشکال هندسی تشکیل شده است: خطوط، منحنی ها و مسیرها. این اشیا با ویژگی های مختلف مانند طول و رنگ، توسط یک برنامه سی شارپ قابل دستکاری هستند.
برنامه نویسی گرافیکی با استفاده از سی شارپ
ما می توانیم انواع مختلفی از اشکال از جمله منحنی ها، خطوط، مستطیل ها، مناطق پر شده، بیضی ها و چند ضلعی ها را نقاشی یا ترسیم کنیم. API روش های مختلفی را برای ترسیم این اشکال ارائه می دهد. با دنبال کردن مراحل زیر می توانیم انواع گرافیک های برداری مختلف را به صورت برنامه ای ایجاد کنیم:
- یک شی از کلاس Bitmap ایجاد کنید.
- یک شی از کلاس Graphics را از بیت مپ مقدار دهی اولیه کنید.
- یک شی کلاس Pen یا SolidBrush با پارامترهای دلخواه تعریف کنید.
- از متد(های) مخصوص شکل کلاس Graphics برای رسم شکل(های) مورد نظر استفاده کنید.
- در پایان، تصویر را ذخیره کنید.
حال بیایید ببینیم که چگونه این مراحل را در سی شارپ انجام دهیم.
منحنی ها در برنامه نویسی گرافیکی با استفاده از سی شارپ
با استفاده از روش های زیر می توانیم کمان، دایره، بیضی یا منحنی بسته رسم کنیم:
- متد DrawArc() برای رسم کمان.
- متد DrawEllipse() برای رسم بیضی.
- متد DrawClosedCurve() برای رسم منحنی بسته.
- متد DrawCurve() برای رسم منحنی.
لطفا مراحل زیر را برای رسم یک شکل منحنی دنبال کنید:
- ابتدا یک نمونه از کلاس Bitmap ایجاد کنید.
- سپس، شی کلاس Graphics را با استفاده از متد FromImage() از شی Bitmap جدید ایجاد کنید.
- سپس یک شی کلاس Pen با رنگ و اندازه مشخص شده تعریف کنید.
- پس از آن، متد DrawClosedCurve() را برای رسم منحنی بسته فراخوانی کنید.
- در صورت تمایل، مراحل بالا را برای اضافه کردن قوس و بیضی تکرار کنید.
- در نهایت با استفاده از متد Save() تصویر خروجی را ذخیره کنید.
نمونه کد زیر نحوه رنگ آمیزی اشکال منحنی در سی شارپ را نشان می دهد.
// این مثال کد نحوه رسم منحنی، قوس و دایره بسته را نشان می دهد.
// یک بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Initialie Graphics از Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// یک قلم برای کشیدن تعریف کنید
Pen penBlue = new Pen(Color.Blue, 4);
// یک منحنی بکشید
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
// یک قوس بکشید
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);
// یک بیضی بکشید
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);
// بیت مپ را به صورت PNG ذخیره کنید
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
چند ضلعی ها و مستطیل ها در برنامه نویسی گرافیکی با استفاده از سی شارپ
با انجام مراحلی که قبلا ذکر شد می توانیم چند ضلعی و مستطیل رسم کنیم. با این حال، ما باید از روش های زیر در مرحله 4 استفاده کنیم:
- متد DrawPolygon() برای رسم چند ضلعی.
- متد DrawRectangle() برای رسم مستطیل.
نمونه کد زیر نحوه رسم چند ضلعی و مستطیل در سی شارپ را نشان می دهد.
// این مثال کد نحوه رسم چند ضلعی و مستطیل را نشان می دهد.
// یک بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Initialie Graphics از Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// یک قلم برای کشیدن تعریف کنید
Pen penBlue = new Pen(Color.Blue, 4);
// یک چند ضلعی رسم کنید
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
// یک مستطیل رسم کنید
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);
// بیت مپ را به صورت PNG ذخیره کنید
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
خطوط در برنامه نویسی گرافیک با استفاده از سی شارپ
به همین ترتیب، میتوانیم با دنبال کردن مراحلی که قبلاً ذکر شد، خطوط را ترسیم کنیم. با این حال، ما باید از متد DrawLine() در مرحله 4 برای رسم یک خط استفاده کنیم.
نمونه کد زیر نحوه رسم خطوط در سی شارپ را نشان می دهد.
// این مثال کد نحوه رسم یک خط را نشان می دهد.
// یک بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Initialie Graphics از Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// یک قلم برای کشیدن تعریف کنید
Pen penBlue = new Pen(Color.Blue, 4);
// رسم خطوط
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
// بیت مپ را به صورت PNG ذخیره کنید
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
مسیرهای برنامه نویسی گرافیکی با استفاده از سی شارپ
در گرافیک برداری، یک مسیر مجموعه ای از خطوط مستقیم صاف را نشان می دهد که با نقطه شروع و پایان، همراه با نقاط دیگر تعریف می شوند. با دنبال کردن مراحل زیر می توانیم مسیری را ترسیم کنیم:
- ابتدا یک نمونه از کلاس Bitmap ایجاد کنید.
- سپس، شی کلاس Graphics را از شی Bitmap تازه ایجاد شده با استفاده از متد FromImage() مقداردهی اولیه کنید.
- سپس یک شی کلاس Pen با رنگ و اندازه مشخص شده تعریف کنید.
- سپس یک نمونه از کلاس GraphicsPath ایجاد کنید.
- سپس خطوط را با استفاده از متد AddLine() اضافه کنید.
- پس از آن، متد DrawPath() را با اشیاء Pen و GraphicsPath فراخوانی کنید.
- در نهایت با استفاده از متد Save() تصویر خروجی را ذخیره کنید.
نمونه کد زیر نحوه رسم مسیر در سی شارپ را نشان می دهد.
// این مثال کد نحوه رسم مسیر را نشان می دهد.
// یک بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Initialie Graphics از Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// یک قلم برای کشیدن تعریف کنید
Pen penBlue = new Pen(Color.Blue, 4);
// راه اندازی مسیر گرافیکی
GraphicsPath path = new GraphicsPath();
// خط 1 را اضافه کنید
path.AddLine(100, 100, 1000, 400);
// خط 2 را اضافه کنید
path.AddLine(1000, 600, 300, 600);
// مستطیل اضافه کنید
path.AddRectangle(new Rectangle(500, 350, 200, 400));
// Ellipse را اضافه کنید
path.AddEllipse(10, 250, 450, 300);
// یک مسیر بکشید
graphics.DrawPath(pen, path);
// بیت مپ را به صورت PNG ذخیره کنید
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
پر کردن منطقه در برنامه نویسی گرافیکی با استفاده از C#
با دنبال کردن مراحل زیر می توانیم یک منطقه پر را رسم کنیم:
- ابتدا یک نمونه از کلاس Bitmap ایجاد کنید.
- سپس، شی کلاس Graphics را از شی Bitmap تازه ایجاد شده با استفاده از متد FromImage() مقداردهی اولیه کنید.
- سپس یک نمونه از کلاس GraphicsPath ایجاد کنید.
- در همین حال، با استفاده از متد AddPolygon() یک چند ضلعی اضافه کنید.
- سپس یک نمونه از کلاس Region ایجاد کنید.
- سپس یک شی GraphicsPath دیگر اضافه کنید و یک مستطیل با استفاده از متد ()AddRectangle اضافه کنید.
- در مرحله بعد، متد Exclude() را فراخوانی کنید تا مسیر داخلی از منطقه حذف شود.
- سپس یک شی کلاس SolidBrush با رنگ مشخص شده تعریف کنید.
- پس از آن، متد FillRegion() را با اشیاء SolidBrush و GraphicsPath فراخوانی کنید.
- در نهایت با استفاده از متد Save() تصویر خروجی را ذخیره کنید.
نمونه کد زیر نحوه رسم ناحیه پر شده در سی شارپ را نشان می دهد.
// این مثال کد نحوه رسم منطقه را نشان می دهد.
// یک بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Initialie Graphics از Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// یک چند ضلعی اضافه کنید
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });
// راه اندازی یک منطقه
Region region = new Region(path);
// مسیر گرافیکی داخلی
GraphicsPath innerPath = new GraphicsPath();
// یک مستطیل اضافه کنید
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));
// مسیر درونی را حذف کنید
region.Exclude(innerPath);
// یک برس جامد را تعریف کنید
Brush brush = new SolidBrush(Color.Blue);
// منطقه را پر کنید
graphics.FillRegion(brush, region);
// بیت مپ را به صورت PNG ذخیره کنید
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
مجوز موقت رایگان دریافت کنید
برای امتحان Aspose.Drawing برای دات نت بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله یاد گرفتیم که چگونه:
- ایجاد یک بیت مپ جدید؛
- رسم مستطیل، بیضی، و غیره بر روی یک بیت مپ.
- رسم خطوط و مسیرها؛
- یک تصویر بیت مپ را به صورت PNG در سی شارپ ذخیره کنید.
علاوه بر برنامه نویسی گرافیکی در سی شارپ، می توانید با استفاده از documentation در مورد Aspose.Drawing برای دات نت بیشتر بیاموزید و ویژگی های مختلف پشتیبانی شده توسط API را بررسی کنید. در صورت وجود هرگونه ابهامی، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان16 تماس بگیرید.