תכנות גרפי ב-C#

תכנות גרפי ב-C# עשוי להיראות קל או קשה יותר ממה שאתה עשוי לחשוב. במאמר זה תלמדו כיצד ליצור גרפיקה וקטורית מדהימה באופן תוכנתי. בין אם אתה יוצר גרפיקה כחלק מהפרויקט הנוכחי שלך או כבסיס למשחק או אפליקציה משלך! תלמדו ליצור תמונות ויזואליות יפות בקלות. בואו נתחיל!

הנושאים הבאים יכוסו במאמר זה:

  1. C# Vector Graphics Programming API
  2. המבנה של גרפיקה וקטורית
  3. תכנות גרפי באמצעות C#
  4. עקומות בתכנות גרפי
  5. מצולעים ומלבנים
  6. איך לצייר קווים
  7. כיצד לצייר נתיבים
  8. צייר אזור מילוי

C# וקטור גרפיקה תכנות API - הורדה חינם

כדי ליצור גרפיקה וקטורית מדהימה ב-C#, נשתמש ב-Aspose.Drawing for .NET API. זוהי ספריית גרפיקה דו-ממדית חוצת פלטפורמות לציור טקסט, גיאומטריות ותמונות באופן פרוגרמטי. היא מאפשרת טעינה, שמירה ותפעול של פורמטי הקבצים הנתמכים.

אנא הורד את ה-DLL של ה-API או התקן אותו באמצעות NuGet.

PM> Install-Package Aspose.Drawing

המבנה של גרפיקה וקטורית

גרפיקה וקטורית מורכבת מצורות גיאומטריות: קווים, עקומות ושבילים. אובייקטים אלו, בעלי מאפיינים שונים כגון אורך וצבע, ניתנים למניפולציה על ידי תוכנית C#.

C# תכנות גרפי

אנו יכולים לצייר או לצייר סוגים שונים של צורות כולל עקומות, קווים, מלבנים, אזורים מלאים, אליפסות ומצולעים. ה-API מספק שיטות שונות לצייר צורות אלו. אנו יכולים ליצור מגוון גרפיקות וקטוריות שונות באופן תוכנתי על ידי ביצוע השלבים המפורטים להלן:

  1. צור אובייקט של מחלקת Bitmap.
  2. אתחול אובייקט של המחלקה Graphics ממפת הסיביות.
  3. הגדר אובייקט בכיתה Pen או SolidBrush עם פרמטרים רצויים.
  4. השתמשו בשיטות הספציפיות לצורה של המחלקה Graphics כדי לצייר את הצורה/ות הרצויות.
  5. בסופו של דבר, שמור את התמונה.

כעת, בואו נראה כיצד לבצע את השלבים הללו ב-C#.

עקומות בתכנות גרפי באמצעות C#

אנו יכולים לצייר קשתות, עיגולים, אליפסות או עקומות סגורות באמצעות השיטות הבאות:

  • שיטת DrawArc() לציור קשת.
  • שיטת DrawEllipse() לציור אליפסה.
  • שיטת DrawClosedCurve() לציור עקומה סגורה.
  • שיטת DrawCurve() לציור עקומה.

אנא בצע את השלבים המפורטים להלן כדי לצייר צורה מעוקלת:

  1. ראשית, צור מופע של מחלקת Bitmap.
  2. לאחר מכן, צור את אובייקט המחלקה Graphics באמצעות שיטת FromImage() מאובייקט Bitmap החדש שנוצר.
  3. לאחר מכן, הגדר אובייקט בכיתה Pen עם הצבע והגודל שצוינו.
  4. לאחר מכן, קרא למתודה DrawClosedCurve() כדי לצייר עקומה סגורה.
  5. לחלופין, חזור על השלבים לעיל כדי להוסיף קשת ואליפסה.
  6. לבסוף, שמור את תמונת הפלט באמצעות שיטת Save() .

דוגמת הקוד הבאה מראה כיצד לצייר צורות מעוקלות ב-C#.

// דוגמה זו מדגימה כיצד לצייר עקומה, קשת ומעגל סגורים.
// צור מפת סיביות
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// גרפיקה ראשונית מ- 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);

// גרפיקה ראשונית מ- 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");
טען-תמונה-ב-Bitmap-באמצעות-CSharp

טען תמונה במפת סיביות באמצעות C#

קווים בתכנות גרפי באמצעות C#

באופן דומה, אנו יכולים לשרטט קווים על ידי ביצוע השלבים שהוזכרו קודם לכן. עם זאת, עלינו להשתמש בשיטת DrawLine() בשלב מס’ 4 כדי לצייר קו.

דוגמת הקוד הבאה מראה כיצד לצייר קווים ב-C#.

// דוגמה זו מדגימה כיצד לצייר קו.
// צור מפת סיביות
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// גרפיקה ראשונית מ- 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. לאחר מכן, אתחול אובייקט המחלקה Graphics מאובייקט 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);

// גרפיקה ראשונית מ- 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));

// הוסף אליפסה
path.AddEllipse(10, 250, 450, 300);

// צייר נתיב
graphics.DrawPath(pen, path);

// שמור את מפת הסיביות כ-PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
נתיבים בתכנות גרפי באמצעות C#

נתיבים בתכנות גרפי באמצעות C#

מילוי אזור בתכנות גרפי באמצעות C#

אנו יכולים לצייר אזור מילוי על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של מחלקת Bitmap.
  2. לאחר מכן, אתחול אובייקט המחלקה Graphics מאובייקט Bitmap החדש שנוצר באמצעות שיטת FromImage()‎.
  3. לאחר מכן, צור מופע של המחלקה GraphicsPath.
  4. בינתיים, הוסף מצולע באמצעות שיטת AddPolygon() .
  5. לאחר מכן, צור מופע של המחלקה Region.
  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);

// גרפיקה ראשונית מ- 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 עבור .NET ללא מגבלות הערכה.

סיכום

במאמר זה למדנו כיצד:

  • צור מפת סיביות חדשה;
  • לצייר מלבן, אליפסה וכו’ על מפת סיביות;
  • לצייר קווים ושבילים;
  • שמור תמונת Bitmap בתור PNG ב-C#.

מלבד תכנות גרפי ב-C#, אתה יכול ללמוד עוד על Aspose.Drawing עבור .NET באמצעות תיעוד ולחקור תכונות שונות הנתמכות על ידי ה-API. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו ב[פורום התמיכה החינמית] שלנו16.

ראה גם