افزودن Callout به تصویر در C# | فراخوان به عکس ها | فراخوان های تصویری

فراخوان تصویر یک عنصر گرافیکی است که به جلب توجه به بخش‌های خاصی از یک تصویر یا یک عکس کمک می‌کند. Callouts یک سلاح مخفی برای شفاف‌تر کردن و تاثیرگذاری هر محتوای بصری است. آنها را به عنوان نورافکن های کوچکی در نظر بگیرید که بر روی مهمترین قسمت های تصویر شما می تابد. در این مقاله یاد می گیریم که چگونه به تصاویر در C# فراخوانی اضافه کنیم.

این مقاله موضوعات زیر را پوشش می دهد:

  1. Callouts Image چیست
  2. C# API برای افزودن فراخوان تصویر
  3. نحوه اضافه کردن Callouts به تصاویر در سی شارپ
  4. منابع رایگان

Image Callouts چیست؟

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

فراخوانی تصویر معمولاً در موارد زیر استفاده می شود:

  • اسناد فنی و آموزش: برای اشاره به ویژگی ها یا عملکردهای خاص در تصاویر یا نمودارها.
  • ارائه: برای تأکید بر عناصر کلیدی در یک تصویر.
  • مواد آموزشی: برای برچسب زدن بخش هایی از یک تصویر یا نمودار.

C# API برای افزودن فراخوان تصویر

برای افزودن فراخوان های تصویری به صورت برنامه ریزی شده در سی شارپ، از API Aspose.Drawing for .NET استفاده می کنیم. این یک کتابخانه گرافیکی دوبعدی بین پلتفرمی برای ترسیم متن، هندسه و تصاویر به صورت برنامه‌ریزی شده است. قابلیت ایجاد و افزودن فراخوان به تصاویر شما را فراهم می کند.

لطفاً یا DLL API را دانلود کنید یا با استفاده از NuGet آن را نصب کنید.

PM> Install-Package Aspose.Drawing

نحوه اضافه کردن Callout به تصاویر در C#

با دنبال کردن مراحل زیر می‌توانیم به راحتی به تصاویر به صورت برنامه‌نویسی فراخوان اضافه کنیم:

  1. تصویر را با استفاده از متد Image.FromFile() بارگذاری کنید.
  2. با استفاده از متد FromImage() یک شی گرافیک جدید ایجاد کنید.
  3. یک شی کلاس Pen را با رنگ و اندازه مشخص شده برای ترسیم فراخوان ها راه اندازی کنید.
  4. موقعیت یک عنصر callout را با رنگ و اندازه مشخص شده تعریف کنید.
  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));
}
افزودن Callout به تصاویر در سی شارپ

افزودن Callout به تصاویر در سی شارپ

مجوز رایگان دریافت کنید

شما می توانید یک مجوز موقت رایگان دریافت کنید تا Aspose.Drawing را برای .NET بدون محدودیت ارزیابی امتحان کنید.

فراخوان ها به عکس ها - منابع رایگان

علاوه بر افزودن فراخوان به عکس‌ها و تصاویر، می‌توانید ویژگی‌های مختلف کتابخانه را با استفاده از منابع زیر کشف کنید:

نتیجه

در این پست یاد گرفتیم که چگونه در C# به تصاویر و عکس ها به صورت برنامه نویسی callout اضافه کنیم. افزودن فراخوان به تصاویر می تواند راهی ساده و در عین حال موثر برای افزایش جذابیت بصری و قابلیت استفاده محتوای شما باشد. با دنبال کردن مراحل ذکر شده و استفاده از مثال کد ارائه شده، می توانید به راحتی توجه را به عناصر کلیدی درون تصاویر خود جلب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان با ما تماس بگیرید.

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