Aggiungi callout all'immagine in C# | Richiami alle foto | Callout di immagini

Un callout di immagine è un elemento grafico che aiuta ad attirare l’attenzione su parti specifiche di un’immagine o di una foto. I callout sono un’arma segreta per rendere qualsiasi contenuto visivo più chiaro e di maggiore impatto. Considerali come piccoli riflettori che puntano sulle parti più importanti della tua immagine. In questo articolo impareremo come aggiungere callout alle immagini in C#.

Questo articolo tratta i seguenti argomenti:

  1. Cosa sono i callout immagine
  2. API C# per aggiungere callout immagine
  3. Come aggiungere didascalie alle immagini in C#
  4. Risorse gratuite

Cosa sono i callout immagine?

I callout delle immagini sono etichette informative sovrapposte a un’immagine per attirare l’attenzione su parti specifiche e spiegarne il significato. I callout delle immagini possono assumere la forma di linee guida o frecce, che collegano visivamente il testo del callout alle aree evidenziate delle immagini. Possono essere caselle di testo richiamate, contenenti una breve spiegazione o l’identificazione degli elementi evidenziati.

I callout delle immagini sono comunemente usati in:

  • Documenti tecnici e tutorial: per evidenziare caratteristiche o funzionalità specifiche in screenshot o diagrammi.
  • Presentazioni: per enfatizzare gli elementi chiave all’interno di un’immagine.
  • Materiali didattici: per etichettare parti di un’illustrazione o di un grafico.

API C# per aggiungere callout di immagini

Per aggiungere callout di immagini a livello di codice in C#, utilizzeremo l’API Aspose.Drawing for .NET. È una libreria grafica 2D multipiattaforma per disegnare testo, geometrie e immagini a livello di codice. Fornisce la funzionalità per creare e aggiungere callout alle tue immagini.

scarica la DLL dell’API o installala utilizzando NuGet.

PM> Install-Package Aspose.Drawing

Come aggiungere didascalie alle immagini in C#

Possiamo facilmente aggiungere callout alle immagini in modo programmatico seguendo i passaggi seguenti:

  1. Carica l’immagine utilizzando il metodo Image.FromFile().
  2. Crea un nuovo oggetto Graphics utilizzando il metodo FromImage().
  3. Inizializza un oggetto della classe Pen con il colore e la dimensione specificati per disegnare i callout.
  4. Definire la posizione di un elemento di richiamo con il colore e la dimensione specificati.
  5. Successivamente, scrivi il testo utilizzando il metodo DrawString().
  6. Infine, salva l’immagine di output utilizzando il metodo Save().

Nell’esempio di codice seguente viene illustrato come aggiungere callout all’immagine in 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));
}
Aggiungi callout alle immagini in C#

Aggiungi callout alle immagini in C#

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare Aspose.Drawing for .NET senza limitazioni di valutazione.

Richiami alle foto: risorse gratuite

Oltre ad aggiungere callout alle foto e alle immagini, puoi esplorare varie altre funzionalità della libreria utilizzando le risorse seguenti:

Conclusione

In questo post abbiamo imparato come aggiungere callout a immagini e foto a livello di codice in C#. Aggiungere callout alle immagini può essere un modo semplice ma efficace per migliorare l’attrattiva visiva e l’usabilità dei tuoi contenuti. Seguendo i passaggi descritti e utilizzando l’esempio di codice fornito, puoi facilmente attirare l’attenzione sugli elementi chiave all’interno delle tue immagini. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche