Callout zum Bild in C# hinzufügen | Callouts zu Fotos | Bild-Callouts

Ein Bild-Callout ist ein grafisches Element, das die Aufmerksamkeit auf bestimmte Teile eines Bildes oder Fotos lenkt. Callouts sind eine Geheimwaffe, um visuelle Inhalte klarer und wirkungsvoller zu gestalten. Stellen Sie sie sich als kleine Scheinwerfer vor, die auf die wichtigsten Teile Ihres Bildes leuchten. In diesem Artikel erfahren Sie, wie Sie in C# Callouts zu Bildern hinzufügen.

In diesem Artikel werden die folgenden Themen behandelt:

  1. Was sind Bildbeschriftungen
  2. C# API zum Hinzufügen von Bildbeschriftungen
  3. So fügen Sie in C# Beschriftungen zu Bildern hinzu
  4. Kostenlose Ressourcen

Was sind Bildbeschriftungen?

Bildbeschriftungen sind informative Beschriftungen, die über ein Bild gelegt werden, um die Aufmerksamkeit auf bestimmte Teile zu lenken und deren Bedeutung zu erklären. Bildbeschriftungen können die Form von Führungslinien oder Pfeilen haben, die den Beschriftungstext optisch mit den hervorgehobenen Bereichen des Bildes verbinden. Es können Beschriftungstextfelder sein, die eine kurze Erklärung oder Identifizierung der hervorgehobenen Elemente enthalten.

Bildbeschriftungen werden häufig in folgenden Bereichen verwendet:

  • Technische Dokumente und Tutorials: Um in Screenshots oder Diagrammen auf bestimmte Features oder Funktionen hinzuweisen.
  • Präsentationen: Zum Hervorheben wichtiger Elemente innerhalb eines Bildes.
  • Lehrmaterial: Zum Beschriften von Teilen einer Abbildung oder eines Diagramms.

C# API zum Hinzufügen von Bildbeschriftungen

Um Bildbeschriftungen programmgesteuert in C# hinzuzufügen, verwenden wir die API Aspose.Drawing for .NET. Dabei handelt es sich um eine plattformübergreifende 2D-Grafikbibliothek zum programmgesteuerten Zeichnen von Text, Geometrien und Bildern. Sie bietet die Funktionalität zum Erstellen und Hinzufügen von Beschriftungen zu Ihren Bildern.

Bitte laden Sie entweder die DLL der API herunter oder installieren Sie sie mittels NuGet.

PM> Install-Package Aspose.Drawing

So fügen Sie in C# Beschriftungen zu Bildern hinzu

Mit den folgenden Schritten können wir Bildern ganz einfach programmgesteuert Beschriftungen hinzufügen:

  1. Laden Sie das Bild mit der Methode Image.FromFile().
  2. Erstellen Sie mit der Methode FromImage() ein neues Grafikobjekt.
  3. Initialisieren Sie ein Objekt der Stiftklasse mit der angegebenen Farbe und Größe, um die Beschriftungen zu zeichnen.
  4. Definieren Sie die Position eines Callout-Elements mit der angegebenen Farbe und Größe.
  5. Schreiben Sie anschließend Text mit der Methode DrawString().
  6. Speichern Sie abschließend das Ausgabebild mit der Methode Save().

Das folgende Codebeispiel zeigt, wie Sie in C# dem Bild Callouts hinzufügen.

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));
}
Hinzufügen von Callouts zu Bildern in C#

Hinzufügen von Callouts zu Bildern in C#

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Drawing for .NET ohne Evaluierungsbeschränkungen zu testen.

Beschriftungen für Fotos – Kostenlose Ressourcen

Außer dem Hinzufügen von Beschriftungen zu Fotos und Bildern können Sie mithilfe der folgenden Ressourcen zahlreiche andere Funktionen der Bibliothek erkunden:

Abschluss

In diesem Beitrag haben wir gelernt, wie man in C# programmgesteuert Callouts zu Bildern und Fotos hinzufügt. Das Hinzufügen von Callouts zu Bildern kann eine einfache, aber effektive Möglichkeit sein, die visuelle Attraktivität und Benutzerfreundlichkeit Ihrer Inhalte zu verbessern. Indem Sie die beschriebenen Schritte befolgen und das bereitgestellte Codebeispiel verwenden, können Sie die Aufmerksamkeit ganz einfach auf wichtige Elemente in Ihren Bildern lenken. Bei Unklarheiten können Sie uns gerne in unserem kostenlosen Support-Forum kontaktieren.

Siehe auch