Thêm chú thích vào hình ảnh trong C# | Chú thích cho ảnh | Chú thích hình ảnh

Chú thích hình ảnh là thành phần đồ họa giúp thu hút sự chú ý đến các phần cụ thể của hình ảnh hoặc ảnh. Chú thích là vũ khí bí mật để làm cho mọi nội dung trực quan trở nên rõ ràng và có tác động hơn. Hãy coi chúng như những ngọn đèn nhỏ chiếu sáng những phần quan trọng nhất trong hình ảnh của bạn. Trong bài viết này, chúng ta sẽ tìm hiểu cách thêm chú thích vào hình ảnh trong C#.

Bài viết này bao gồm các chủ đề sau:

  1. Chú thích hình ảnh là gì
  2. API C# để thêm chú thích hình ảnh
  3. Cách thêm chú thích vào hình ảnh trong C#
  4. Tài nguyên miễn phí

Chú thích hình ảnh là gì?

Chú thích hình ảnh là các nhãn thông tin được đặt chồng lên hình ảnh để thu hút sự chú ý đến các phần cụ thể và giải thích tầm quan trọng của chúng. Chú thích hình ảnh có thể ở dạng dòng dẫn đầu hoặc mũi tên, kết nối trực quan văn bản chú thích với các vùng được đánh dấu của hình ảnh. Chúng có thể là các hộp văn bản chú thích, chứa lời giải thích ngắn gọn hoặc nhận dạng các phần tử được chỉ ra.

Chú thích hình ảnh thường được sử dụng trong:

  • Tài liệu và hướng dẫn kỹ thuật: Để chỉ ra các tính năng hoặc chức năng cụ thể trong ảnh chụp màn hình hoặc sơ đồ.
  • Trình bày: Để nhấn mạnh các yếu tố chính trong một hình ảnh.
  • Tài liệu giáo dục: Để gắn nhãn cho các phần của hình minh họa hoặc đồ thị.

API C# để thêm chú thích hình ảnh

Để thêm chú thích hình ảnh theo chương trình trong C#, chúng tôi sẽ sử dụng API Aspose.draw cho .NET. Nó là một thư viện đồ họa 2D đa nền tảng để vẽ văn bản, hình học và hình ảnh theo chương trình. Nó cung cấp chức năng tạo và thêm chú thích vào hình ảnh của bạn.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Drawing

Cách thêm chú thích vào hình ảnh trong C#

Chúng ta có thể dễ dàng thêm chú thích vào hình ảnh theo chương trình bằng cách thực hiện theo các bước bên dưới:

  1. Tải hình ảnh bằng phương thức Image.FromFile().
  2. Tạo một đối tượng Graphics mới bằng phương thức FromImage().
  3. Khởi tạo một đối tượng lớp Pen với màu sắc và kích thước được chỉ định để vẽ chú thích.
  4. Xác định vị trí của phần tử chú thích bằng màu sắc và kích thước được chỉ định.
  5. Sau đó, viết văn bản bằng phương thức DrawString().
  6. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức Save().

Mẫu mã sau đây cho biết cách thêm chú thích vào hình ảnh trong 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));
}
Thêm chú thích vào hình ảnh trong C#

Thêm chú thích vào hình ảnh trong C#

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.draw cho .NET mà không bị giới hạn về đánh giá.

Chú thích cho ảnh – Tài nguyên miễn phí

Bên cạnh việc thêm chú thích vào ảnh và hình ảnh, bạn có thể khám phá nhiều tính năng khác của thư viện bằng cách sử dụng các tài nguyên bên dưới:

Phần kết luận

Trong bài đăng này, chúng ta đã tìm hiểu cách thêm chú thích vào hình ảnh và ảnh theo chương trình trong C#. Thêm chú thích vào hình ảnh có thể là một cách đơn giản nhưng hiệu quả để nâng cao sự hấp dẫn trực quan và khả năng sử dụng nội dung của bạn. Bằng cách làm theo các bước đã nêu và sử dụng mã ví dụ được cung cấp, bạn có thể dễ dàng thu hút sự chú ý đến các yếu tố chính trong hình ảnh của mình. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm