เพิ่มคำบรรยายภาพให้กับรูปภาพใน C# | คำบรรยายภาพ | คำบรรยายภาพ

คำบรรยายภาพเป็นองค์ประกอบกราฟิกที่ช่วยดึงดูดความสนใจไปยังส่วนใดส่วนหนึ่งของรูปภาพหรือภาพถ่าย คำบรรยายภาพเป็นอาวุธลับในการทำให้เนื้อหาภาพมีความชัดเจนและมีประสิทธิภาพมากขึ้น ให้คิดว่ามันเป็นสปอตไลท์เล็กๆ ที่ส่องไปยังส่วนที่สำคัญที่สุดของภาพของคุณ ในบทความนี้ เราจะเรียนรู้วิธีเพิ่มคำบรรยายภาพให้กับรูปภาพใน C#

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

  1. คำบรรยายภาพคืออะไร
  2. C# API เพื่อเพิ่มคำบรรยายภาพ
  3. วิธีเพิ่มคำบรรยายภาพให้กับรูปภาพใน C#
  4. แหล่งข้อมูลฟรี

คำบรรยายภาพคืออะไร?

คำบรรยายภาพคือป้ายกำกับข้อมูลที่ซ้อนทับบนรูปภาพเพื่อดึงดูดความสนใจไปยังส่วนใดส่วนหนึ่งและอธิบายความสำคัญของส่วนเหล่านั้น คำบรรยายภาพอาจอยู่ในรูปแบบของเส้นตัวนำหรือลูกศร ซึ่งเชื่อมโยงข้อความคำบรรยายเข้ากับพื้นที่ที่ไฮไลต์ของรูปภาพด้วยสายตา อาจเป็นกล่องข้อความคำบรรยายที่มีคำอธิบายสั้นๆ หรือการระบุองค์ประกอบที่ชี้ให้เห็น

คำบรรยายภาพมักใช้ใน:

  • เอกสารทางเทคนิคและบทช่วยสอน: เพื่อชี้ให้เห็นคุณสมบัติหรือฟังก์ชันเฉพาะในภาพหน้าจอหรือไดอะแกรม
  • การนำเสนอ: เพื่อเน้นองค์ประกอบหลักภายในภาพ
  • สื่อการศึกษา: เพื่อติดป้ายกำกับส่วนต่างๆ ของภาพประกอบหรือกราฟ

C# API เพื่อเพิ่มคำบรรยายภาพ

สำหรับการเพิ่มคำบรรยายรูปภาพโดยทางโปรแกรมใน C# เราจะใช้ API Aspose. Drawing for .NET เป็นไลบรารีกราฟิก 2D ข้ามแพลตฟอร์มสำหรับการวาดข้อความ เรขาคณิต และรูปภาพโดยทางโปรแกรม มีฟังก์ชันการสร้างและเพิ่มคำบรรยายภาพให้กับภาพของคุณ

โปรด ดาวน์โหลด 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# การเพิ่มคำบรรยายภาพอาจเป็นวิธีที่เรียบง่ายแต่มีประสิทธิภาพในการปรับปรุงรูปลักษณ์และการใช้งานเนื้อหาของคุณ ด้วยการทำตามขั้นตอนที่อธิบายไว้และใช้ตัวอย่างโค้ดที่ให้มา คุณสามารถดึงดูดความสนใจไปยังองค์ประกอบหลักภายในรูปภาพของคุณได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี

ดูสิ่งนี้ด้วย