הוסף הסבר לתמונה ב-C# | הסברים לתמונות | תוספי תמונה

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

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

  1. מהם תוספי תמונה
  2. C# API להוספת תוספי תמונה
  3. כיצד להוסיף הסברים לתמונות ב-C#
  4. משאבים בחינם

מה הם תוספי תמונה?

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

תוספי תמונה משמשים בדרך כלל ב:

  • מסמכים טכניים ומדריכים: להצביע על תכונות או פונקציות ספציפיות בצילומי מסך או דיאגרמות.
  • מצגות: להדגיש אלמנטים מרכזיים בתמונה.
  • חומרים חינוכיים: לתיוג חלקים של איור או גרף.

C# API להוספת תוספי תמונה

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

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

PM> Install-Package Aspose.Drawing

כיצד להוסיף הסברים לתמונות ב-C#

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

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

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

using System.Drawing;
using System.Drawing.AsposeDrawing;
using System.Drawing.Imaging;
using System.Drawing.Text;

using (var image = Image.FromFile("gears.png"))
{
    var graphics = Graphics.FromImage(image);

    graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
    graphics.PageUnit = GraphicsUnit.Pixel;

    DrawCallOut(graphics, new PointF(107, 55), new PointF(179, 5), 74, "mm");

    DrawCallOut(graphics, new PointF(111, 146), new PointF(29, 180), 28, "mm");

    image.Save("gears_with_callout.jpg");
}


void DrawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, string unit)
{
    Pen pen = new Pen(Color.Red, 1);

    Font font = new Font("Arial", 10, FontStyle.Bold);

    string outputValue = $"{value} {unit}";

    var textSize = graphic.MeasureString(outputValue, font);

    int diameterSymbolSize = 12;
    int spaceSize = 3;

    textSize.Width += diameterSymbolSize + spaceSize;

    float callOutMiddleX = endAnchor.X > startAnchor.X ? endAnchor.X - textSize.Width : endAnchor.X + textSize.Width;
    float callOutMiddleY = endAnchor.Y > startAnchor.Y ? endAnchor.Y - textSize.Height : endAnchor.Y + textSize.Height;

    graphic.DrawLine(pen, startAnchor.X, startAnchor.Y, callOutMiddleX, callOutMiddleY);

    float textAnchorX = Math.Min(callOutMiddleX, endAnchor.X);
    float textAnchorY = callOutMiddleY;
    graphic.DrawLine(pen, callOutMiddleX, callOutMiddleY,
                        textAnchorX == callOutMiddleX ? textAnchorX + textSize.Width : textAnchorX,
                        callOutMiddleY);

    graphic.DrawEllipse(pen, new Rectangle((int)textAnchorX + spaceSize,
                                            (int)(textAnchorY - textSize.Height) + spaceSize, 10, 10));

    graphic.DrawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1,
                            (int)textAnchorX + diameterSymbolSize + 2,
                            (int)textAnchorY - diameterSymbolSize - 2);

    SolidBrush brush = new SolidBrush(Color.Blue);

    graphic.DrawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize,
                                                    (int)(textAnchorY - textSize.Height));
}
הוסף הסברים לתמונות ב-C#

הוסף הסברים לתמונות ב-C#

קבל רישיון חינם

אתה יכול לקבל רישיון זמני בחינם כדי לנסות את Aspose.Drawing עבור .NET ללא מגבלות הערכה.

הסברים לתמונות - משאבים בחינם

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

סיכום

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

ראה גם