برمجة الرسومات في C#

قد تبدو برمجة الرسومات في #C أسهل أو أصعب مما تعتقد. في هذه المقالة ، سوف تتعلم كيفية إنشاء رسومات موجهة مذهلة برمجيًا. سواء كنت تقوم بإنشاء رسومات كجزء من مشروعك الحالي أو كأساس للعبة أو تطبيق خاص بك! ستتعلم إنشاء صور جميلة بسهولة. هيا بنا نبدأ!

سيتم تناول الموضوعات التالية في هذه المقالة:

  1. C# Vector Graphics Programming API
  2. هيكل الرسم المتجه
  3. برمجة الرسومات باستخدام #C
  4. منحنيات في برمجة الرسومات
  5. المضلعات والمستطيلات
  6. كيفية رسم الخطوط
  7. كيفية رسم المسارات
  8. ارسم منطقة التعبئة

C# Vector Graphics Programming API - تنزيل مجاني

لإنشاء رسومات متجهة مذهلة في #C ، سنستخدم Aspose.Drawing for .NET API. إنها مكتبة رسومات ثنائية الأبعاد عبر الأنظمة الأساسية لرسم النصوص والهندسة والصور برمجيًا. يسمح بتحميل وحفظ ومعالجة تنسيقات الملفات المدعومة.

يرجى إما تنزيل DLL من API أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.Drawing

هيكل الرسم المتجه

تتكون الرسومات المتجهة من أشكال هندسية: خطوط ومنحنيات ومسارات. يمكن معالجة هذه الكائنات ، ذات الخصائص المختلفة مثل الطول واللون ، بواسطة برنامج #C.

برمجة الرسومات باستخدام #C

يمكننا رسم أو رسم أنواع مختلفة من الأشكال بما في ذلك المنحنيات والخطوط والمستطيلات والمناطق المعبأة والأشكال البيضاوية والمضلعات. يوفر API طرقًا مختلفة لرسم هذه الأشكال. يمكننا إنشاء مجموعة متنوعة من الرسومات المتجهة المختلفة برمجيًا باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء كائن من فئة Bitmap.
  2. تهيئة كائن من فئة الرسومات من الصورة النقطية.
  3. حدد كائن فئة Pen أو SolidBrush بالمعلمات المرغوبة.
  4. استخدم الطريقة (الأساليب) الخاصة بالشكل لفئة الرسومات لرسم الشكل (الأشكال) المطلوب.
  5. في النهاية ، احفظ الصورة.

الآن ، دعنا نرى كيفية تنفيذ هذه الخطوات في #C.

المنحنيات في برمجة الرسومات باستخدام #C

يمكننا رسم أقواس أو دوائر أو علامات حذف أو منحنيات مغلقة باستخدام الطرق التالية:

  • طريقة ()DrawArc لرسم قوس.
  • طريقة ()DrawEllipse لرسم قطع ناقص.
  • طريقة ()DrawClosedCurve لرسم منحنى مغلق.
  • طريقة ()DrawCurve لرسم منحنى.

برجاء اتباع الخطوات الموضحة أدناه لرسم شكل منحني:

  1. أولاً ، قم بإنشاء مثيل لفئة Bitmap.
  2. بعد ذلك ، قم بإنشاء كائن فئة الرسومات باستخدام أسلوب ()FromImage من كائن Bitmap الذي تم إنشاؤه حديثًا.
  3. بعد ذلك ، حدد كائن فئة Pen باللون والحجم المحددين.
  4. بعد ذلك ، اتصل بطريقة ()DrawClosedCurve لرسم منحنى مغلق.
  5. اختياريًا ، كرر الخطوات المذكورة أعلاه لإضافة قوس وقطع ناقص.
  6. أخيرًا ، احفظ الصورة الناتجة باستخدام طريقة ()Save.

يوضح نموذج التعليمات البرمجية التالي كيفية رسم الأشكال المنحنية في #C.

// يوضح مثال الكود هذا كيفية رسم منحنى مغلق وقوس ودائرة.
// قم بإنشاء صورة نقطية
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");
المنحنيات في برمجة الرسومات باستخدام C#

المنحنيات في برمجة الرسومات باستخدام #C

المضلعات والمستطيلات في برمجة الرسومات باستخدام #C

يمكننا رسم المضلعات والمستطيلات باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج إلى استخدام الطرق التالية في الخطوة رقم 4:

  • طريقة ()DrawPolygon لرسم مضلع.
  • طريقة ()DrawRectangle لرسم مستطيل.

يوضح نموذج التعليمات البرمجية التالي كيفية رسم المضلعات والمستطيلات في #C.

// يوضح مثال الكود هذا كيفية رسم مضلع ومستطيل.
// قم بإنشاء صورة نقطية
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");
تحميل صورة في صورة نقطية باستخدام CSharp

قم بتحميل صورة في صورة نقطية باستخدام #C

خطوط في برمجة الرسومات باستخدام #C

وبالمثل ، يمكننا رسم خطوط باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج إلى استخدام طريقة ()DrawLine في الخطوة رقم 4 لرسم خط.

يوضح نموذج التعليمات البرمجية التالي كيفية رسم خطوط في #C.

// يوضح مثال الكود هذا كيفية رسم خط.
// قم بإنشاء صورة نقطية
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");
خطوط في برمجة الرسومات باستخدام C#

خطوط في برمجة الرسومات باستخدام #C

المسارات في برمجة الرسومات باستخدام #C

في الرسومات المتجهة ، يمثل المسار سلسلة من الخطوط المستقيمة الناعمة المحددة بنقطة البداية والنهاية ، جنبًا إلى جنب مع نقاط أخرى. يمكننا رسم مسار باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بإنشاء مثيل لفئة Bitmap.
  2. بعد ذلك ، قم بتهيئة كائن فئة الرسومات من كائن Bitmap الذي تم إنشاؤه حديثًا باستخدام الأسلوب ()FromImage.
  3. بعد ذلك ، حدد كائن فئة Pen باللون والحجم المحددين.
  4. بعد ذلك ، قم بإنشاء مثيل لفئة GraphicsPath.
  5. ثم أضف الأسطر باستخدام طريقة ()AddLine.
  6. بعد ذلك ، قم باستدعاء طريقة ()DrawPath باستخدام كائنات Pen و GraphicsPath.
  7. أخيرًا ، احفظ الصورة الناتجة باستخدام طريقة ()Save.

يوضح نموذج التعليمات البرمجية التالي كيفية رسم مسار في #C.

// يوضح مثال الكود هذا كيفية رسم مسار.
// قم بإنشاء صورة نقطية
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#

المسارات في برمجة الرسومات باستخدام #C

تعبئة المنطقة في برمجة الرسومات باستخدام #C

يمكننا رسم منطقة تعبئة باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بإنشاء مثيل لفئة Bitmap.
  2. بعد ذلك ، قم بتهيئة كائن فئة الرسومات من كائن Bitmap الذي تم إنشاؤه حديثًا باستخدام الأسلوب ()FromImage.
  3. ثم قم بإنشاء مثيل لفئة GraphicsPath.
  4. في غضون ذلك ، أضف مضلعًا باستخدام طريقة ()AddPolygon.
  5. بعد ذلك ، قم بإنشاء مثيل لفئة المنطقة.
  6. ثم أضف كائن GraphicsPath آخر وأضف مستطيلًا باستخدام أسلوب ()AddRectangle.
  7. بعد ذلك ، قم باستدعاء طريقة ()Exclude لاستبعاد المسار الداخلي من المنطقة.
  8. ثم ، حدد كائن فئة SolidBrush باللون المحدد.
  9. بعد ذلك ، قم باستدعاء طريقة ()FillRegion باستخدام كائنات SolidBrush و GraphicsPath.
  10. أخيرًا ، احفظ الصورة الناتجة باستخدام طريقة ()Save.

يوضح نموذج التعليمات البرمجية التالي كيفية رسم منطقة معبأة في #C.

// يوضح مثال الكود هذا كيفية رسم منطقة.
// قم بإنشاء صورة نقطية
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");
تعبئة المنطقة في برمجة الرسومات باستخدام C#

تعبئة المنطقة في برمجة الرسومات باستخدام #C

احصل على رخصة مؤقتة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة Aspose.Drawing for .NET بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • إنشاء صورة نقطية جديدة ؛
  • رسم مستطيل ، قطع ناقص ، إلخ على صورة نقطية ؛
  • رسم الخطوط والمسارات.
  • حفظ صورة نقطية كـ PNG في #C.

إلى جانب برمجة الرسومات في #C ، يمكنك معرفة المزيد حول Aspose.Drawing for .NET باستخدام التوثيق واستكشاف الميزات المختلفة التي تدعمها API. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا