رسم اشکال در سی شارپ

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

C# API برای ترسیم اشکال - دانلود رایگان

برای ترسیم انواع اشکال، از Aspose.Imaging for .NET استفاده می کنیم. این یک API ویرایش تصویر شگفت انگیز است که طیف گسترده ای از ویژگی ها را برای دستکاری تصاویر و ایجاد نقشه ها فراهم می کند. می توانید API را دانلود یا از NuGet نصب کنید.

PM> Install-Package Aspose.Imaging

با سی شارپ خط بکشید

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

  • ابتدا یک شی از کلاس BmpOptions ایجاد کنید و بیت‌ها را در هر پیکسل با استفاده از ویژگی BitsPerPixel تنظیم کنید.
  • سپس، StreamSource را با استفاده از ویژگی Source اختصاص دهید.
  • یک تصویر جدید ایجاد کنید و آن را با شی BmpOptions و ارتفاع و عرض تصویر مقداردهی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی اولیه کنید.
  • با استفاده از روش Graphics.Clear() سطح تصویر را با مقداری رنگ پاک کنید.
  • با استفاده از روش Graphics.DrawLine(Pen, int, int, int, int) یک خط بکشید.
  • با استفاده از روش Image.Save() تصویر تولید و ذخیره کنید.

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

// BmpOptions را ایجاد کنید
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// ویژگی منبع را برای نمونه BmpOptions تعریف کنید
bmpCreateOptions.Source = new StreamSource();

// یک نمونه از متد Image و call create را با عبور دادن نشان می دهد
// شی bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید
Graphics graphic = new Graphics(image);

// سطح تصویر را با رنگ سفید پاک کنید
graphic.Clear(Color.White);

// با مشخص کردن جسم Pen دارای رنگ آبی و خط نقطه چین رسم کنید
// نقاط هماهنگ
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// با مشخص کردن جسم Pen دارای Solid یک خط پیوسته رسم کنید
// قلم مو با رنگ قرمز و ساختارهای دو نقطه ای
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// با مشخص کردن جسم Pen دارای Solid یک خط پیوسته رسم کنید
// قلم مو با رنگ سفید و ساختارهای دو نقطه ای
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// همه تغییرات را ذخیره کنید
image.Save("draw_lines.bmp");

در زیر خروجی نمونه کد بالا آمده است.

رسم خط در سی شارپ

با سی شارپ یک بیضی بکشید

در ادامه مراحل رسم بیضی در سی شارپ آمده است.

  • ابتدا یک شی از کلاس BmpOptions ایجاد کنید و بیت‌ها را در هر پیکسل با استفاده از ویژگی BitsPerPixel تنظیم کنید.
  • سپس، StreamSource را با استفاده از ویژگی Source اختصاص دهید.
  • یک تصویر جدید ایجاد کنید و آن را با شی BmpOptions و ارتفاع و عرض تصویر مقداردهی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی اولیه کنید.
  • با استفاده از روش Graphics.Clear() سطح تصویر را با مقداری رنگ پاک کنید.
  • با استفاده از روش Graphics.DrawEllipse(Pen, Rectangle) یک بیضی بکشید.
  • با استفاده از روش Image.Save() تصویر تولید و ذخیره کنید.

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

// BmpOptions را ایجاد کنید
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// ویژگی منبع را برای نمونه BmpOptions تعریف کنید
bmpCreateOptions.Source = new StreamSource();

// یک نمونه از متد Image و call create را با عبور دادن نشان می دهد
// شی bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید
Graphics graphic = new Graphics(image);

// سطح تصویر را با رنگ سفید پاک کنید
graphic.Clear(Color.White);

// با مشخص کردن رنگ قرمز جسم Pen، یک شکل بیضی نقطه‌دار رسم کنید
// رنگ و یک مستطیل اطراف
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// با مشخص کردن شی Pen دارای یک شکل بیضی ممتد رسم کنید
// solid brush with blue رنگ و یک مستطیل اطراف
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// همه تغییرات را ذخیره کنید
image.Save("draw_ellipse.bmp");

در زیر خروجی نمونه کد بالا آمده است.

رسم بیضی در سی شارپ

رسم کمان با استفاده از C#

در ادامه مراحل رسم قوس در سی شارپ آمده است.

  • ابتدا یک شی از کلاس BmpOptions ایجاد کنید و بیت‌ها را در هر پیکسل با استفاده از ویژگی BitsPerPixel تنظیم کنید.
  • سپس، StreamSource را با استفاده از ویژگی Source اختصاص دهید.
  • یک تصویر جدید ایجاد کنید و آن را با شی BmpOptions و ارتفاع و عرض تصویر مقداردهی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی اولیه کنید.
  • با استفاده از روش Graphics.Clear() سطح تصویر را با مقداری رنگ پاک کنید.
  • با استفاده از روش [Graphics.DrawArc(Pen، float x، float y، عرض شناور، ارتفاع شناور، float startAngle، float sweepAngle) 20 قوس بکشید.
  • با استفاده از روش Image.Save() تصویر تولید و ذخیره کنید.

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

// BmpOptions را ایجاد کنید
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// ویژگی منبع را برای نمونه BmpOptions تعریف کنید
bmpCreateOptions.Source = new StreamSource();

// یک نمونه از متد Image و call create را با عبور دادن نشان می دهد
// شی bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید
Graphics graphic = new Graphics(image);

// سطح تصویر را با رنگ سفید پاک کنید
graphic.Clear(Color.White);

// با مشخص کردن جسم Pen دارای رنگ مشکی قرمز، یک شکل قوس نقطه‌دار رسم کنید
// رنگ و مختصات، ارتفاع، عرض، زوایای شروع و پایان
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// قوس را به صفحه بکشید
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// همه تغییرات را ذخیره کنید
image.Save("draw_arc.bmp");

در زیر خروجی نمونه کد بالا آمده است.

رسم قوس در سی شارپ

با سی شارپ یک مستطیل بکشید

در ادامه مراحل رسم مستطیل در سی شارپ آمده است.

  • ابتدا یک شی از کلاس BmpOptions ایجاد کنید و بیت‌ها را در هر پیکسل با استفاده از ویژگی BitsPerPixel تنظیم کنید.
  • سپس، StreamSource را با استفاده از ویژگی Source اختصاص دهید.
  • یک تصویر جدید ایجاد کنید و آن را با شی BmpOptions و ارتفاع و عرض تصویر مقداردهی کنید.
  • یک شی از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی اولیه کنید.
  • با استفاده از روش Graphics.Clear() سطح تصویر را با مقداری رنگ پاک کنید.
  • با استفاده از روش Graphics.DrawRectangle(Pen, Rectangle) یک مستطیل بکشید.
  • با استفاده از روش Image.Save() تصویر تولید و ذخیره کنید.

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

// BmpOptions را ایجاد کنید
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// ویژگی منبع را برای نمونه BmpOptions تعریف کنید
bmpCreateOptions.Source = new StreamSource();

// یک نمونه از متد Image و call create را با عبور دادن نشان می دهد
// شی bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید
Graphics graphic = new Graphics(image);

// سطح تصویر را با رنگ سفید پاک کنید
graphic.Clear(Color.White);

// با مشخص کردن رنگ قرمز جسم Pen، یک شکل مستطیل نقطه‌دار رسم کنید
// رنگ و ساختار مستطیلی
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// با مشخص کردن شیء Pen یک شکل مستطیل پیوسته بکشید
// solid brush with blue رنگ و ساختار مستطیلی
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// همه تغییرات را ذخیره کنید
image.Save("draw_reactangle.bmp");

در زیر خروجی نمونه کد بالا آمده است.

رسم مستطیل در سی شارپ

C#.NET Image Drawing API - مجوز رایگان دریافت کنید

شما می توانید یک مجوز موقت رایگان دریافت کنید و اشکال را بدون محدودیت ارزیابی ترسیم کنید.

نتیجه

در این مقاله نحوه رسم اشکال در سی شارپ را یاد گرفتید. ما نحوه رسم خطوط، بیضی ها، کمان ها و مستطیل ها را به صورت برنامه ریزی شده روی تصاویر توضیح داده ایم. شما به راحتی می توانید نمونه کدهای ارائه شده را در برنامه های C# خود ادغام کنید.

ادامه مطلب

می توانید با استفاده از documentation درباره API پردازش تصویر دات نت بیشتر کاوش کنید. همچنین، می توانید سوالات خود را از طریق [تالار گفتمان3 ما با ما در میان بگذارید.

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