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:
- Cosa sono i callout immagine
- API C# per aggiungere callout immagine
- Come aggiungere didascalie alle immagini in C#
- 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:
- Carica l’immagine utilizzando il metodo Image.FromFile().
- Crea un nuovo oggetto Graphics utilizzando il metodo FromImage().
- Inizializza un oggetto della classe Pen con il colore e la dimensione specificati per disegnare i callout.
- Definire la posizione di un elemento di richiamo con il colore e la dimensione specificati.
- Successivamente, scrivi il testo utilizzando il metodo DrawString().
- 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));
}
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.