צייר צורות ב-C#

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

C# API לציור צורות - הורדה חינם

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

PM> Install-Package Aspose.Imaging

צייר קו באמצעות C#

להלן השלבים לציור קו ב-C#.

  • ראשית, צור אובייקט במחלקה BmpOptions והגדר סיביות לכל פיקסל באמצעות המאפיין BitsPerPixel.
  • לאחר מכן, הקצה את StreamSource באמצעות המאפיין Source.
  • צור תמונה חדשה ואתחול אותה עם אובייקט BmpOptions והגובה והרוחב של התמונה.
  • צור אובייקט במחלקה Graphics ואתחול אותו עם אובייקט Image.
  • נקה את פני השטח של התמונה עם קצת צבע באמצעות שיטת Graphics.Clear().
  • צייר קו באמצעות השיטה Graphics.DrawLine(Pen, int, int, int, int).
  • צור ושמור תמונה באמצעות שיטת Image.Save().

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

// צור BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// הגדר את מאפיין המקור עבור המופע של BmpOptions
bmpCreateOptions.Source = new StreamSource();

// יוצר מופע של Image and call create method על ידי העברת ה-
// אובייקט bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// צור ואתחול מופע של מחלקה גרפיקה
Graphics graphic = new Graphics(image);

// נקה את משטח התמונה עם צבע לבן
graphic.Clear(Color.White);

// צייר קו מקווקו על ידי ציון אובייקט העט בעל צבע כחול ו
// לתאם נקודות
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// צייר קו רציף על ידי ציון אובייקט העט בעל מוצק
// מברשת עם צבע אדום ומבנים דו נקודתיים
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// צייר קו רציף על ידי ציון אובייקט העט בעל מוצק
// מברשת עם צבע לבן ומבנים דו נקודתיים
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// שמור את כל השינויים
image.Save("draw_lines.bmp");

להלן הפלט של דגימת הקוד לעיל.

לצייר קו ב-C#

צייר אליפסה באמצעות C#

להלן השלבים לציור אליפסה ב-C#.

  • ראשית, צור אובייקט במחלקה BmpOptions והגדר סיביות לכל פיקסל באמצעות המאפיין BitsPerPixel.
  • לאחר מכן, הקצה את StreamSource באמצעות המאפיין Source.
  • צור תמונה חדשה ואתחול אותה עם אובייקט BmpOptions והגובה והרוחב של התמונה.
  • צור אובייקט במחלקה Graphics ואתחול אותו עם אובייקט Image.
  • נקה את פני השטח של התמונה עם קצת צבע באמצעות שיטת Graphics.Clear().
  • צייר אליפסה בשיטת Graphics.DrawEllipse(Pen, Rectangle).
  • צור ושמור תמונה באמצעות שיטת Image.Save().

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

// צור BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// הגדר את מאפיין המקור עבור המופע של BmpOptions
bmpCreateOptions.Source = new StreamSource();

// יוצר מופע של Image and call create method על ידי העברת ה-
// אובייקט bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// צור ואתחול מופע של מחלקה גרפיקה
Graphics graphic = new Graphics(image);

// נקה את משטח התמונה עם צבע לבן
graphic.Clear(Color.White);

// צייר צורת אליפסה מנוקדת על ידי ציון אובייקט העט בעל אדום
// צבע ומלבן שמסביב
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// צייר צורת אליפסה רציפה על ידי ציון אובייקט העט שיש לו
// 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#

צייר קשת באמצעות C#

להלן השלבים לציור קשת ב-C#.

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

// צור BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// הגדר את מאפיין המקור עבור המופע של BmpOptions
bmpCreateOptions.Source = new StreamSource();

// יוצר מופע של Image and call create method על ידי העברת ה-
// אובייקט bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// צור ואתחול מופע של מחלקה גרפיקה
Graphics graphic = new Graphics(image);

// נקה את משטח התמונה עם צבע לבן
graphic.Clear(Color.White);

// צייר צורת קשת מנוקדת על ידי ציון אובייקט העט בעל אדום שחור
// צבע וקואורדינטות, גובה, רוחב, זוויות התחלה וסיום
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");

להלן הפלט של דגימת הקוד לעיל.

צייר קשת ב-C#

צייר מלבן באמצעות C#

להלן השלבים לציור מלבן ב-C#.

  • ראשית, צור אובייקט במחלקה BmpOptions והגדר סיביות לכל פיקסל באמצעות המאפיין BitsPerPixel.
  • לאחר מכן, הקצה את StreamSource באמצעות המאפיין Source.
  • צור תמונה חדשה ואתחול אותה עם אובייקט BmpOptions והגובה והרוחב של התמונה.
  • צור אובייקט במחלקה Graphics ואתחול אותו עם אובייקט Image.
  • נקה את פני השטח של התמונה עם קצת צבע באמצעות שיטת Graphics.Clear().
  • צייר מלבן בשיטת Graphics.DrawRectangle(Pen, Rectangle).
  • צור ושמור תמונה באמצעות שיטת Image.Save().

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

// צור BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// הגדר את מאפיין המקור עבור המופע של BmpOptions
bmpCreateOptions.Source = new StreamSource();

// יוצר מופע של Image and call create method על ידי העברת ה-
// אובייקט bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// צור ואתחול מופע של מחלקה גרפיקה
Graphics graphic = new Graphics(image);

// נקה את משטח התמונה עם צבע לבן
graphic.Clear(Color.White);

// צייר צורת מלבן מנוקד על ידי ציון אובייקט העט בעל אדום
// צבע ומבנה מלבן
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// צייר צורת מלבן רציפה על ידי ציון אובייקט העט שיש לו
// 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#

C# .NET Image Drawing API - קבל רישיון חינם

אתה יכול לקבל רישיון זמני ללא תשלום ולצייר צורות ללא מגבלות הערכה.

סיכום

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

קרא עוד

אתה יכול לחקור עוד על ממשק ה-API לעיבוד תמונה של .NET באמצעות תיעוד. כמו כן, אתה יכול לשתף אותנו בשאילתות שלך דרך הפורום שלנו.

ראה גם