Agregar llamada a la imagen en C# | Llamadas a fotos | Llamadas de imágenes

Una leyenda de imagen es un elemento gráfico que ayuda a llamar la atención sobre partes específicas de una imagen o fotografía. Los textos destacados son un arma secreta para hacer que cualquier contenido visual sea más claro e impactante. Piensa en ellos como pequeños focos que brillan sobre las partes más importantes de tu imagen. En este artículo, aprenderemos cómo agregar llamadas a imágenes en C#.

Este artículo cubre los siguientes temas:

  1. ¿Qué son las leyendas de imágenes
  2. API de C# para agregar leyendas de imágenes
  3. Cómo agregar leyendas a imágenes en C#
  4. Recursos gratuitos

¿Qué son las leyendas de imágenes?

Las leyendas de imágenes son etiquetas informativas superpuestas a una imagen para llamar la atención sobre partes específicas y explicar su significado. Las leyendas de las imágenes pueden tener la forma de líneas guía o flechas, conectando visualmente el texto de la leyenda con las áreas resaltadas de las imágenes. Pueden ser cuadros de texto de llamada, que contienen una breve explicación o identificación de los elementos señalados.

Las leyendas de imágenes se utilizan comúnmente en:

  • Documentos técnicos y tutoriales: Para señalar características o funcionalidades específicas en capturas de pantalla o diagramas.
  • Presentaciones: Para enfatizar elementos clave dentro de una imagen.
  • Materiales educativos: para etiquetar partes de una ilustración o gráfico.

API de C# para agregar leyendas de imágenes

Para agregar llamadas de imágenes mediante programación en C#, usaremos la API Aspose.Drawing for .NET. Es una biblioteca de gráficos 2D multiplataforma para dibujar texto, geometrías e imágenes mediante programación. Proporciona la funcionalidad para crear y agregar leyendas a sus imágenes.

Por favor, descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.Drawing

Cómo agregar llamadas a imágenes en C#

Podemos agregar fácilmente llamadas a imágenes mediante programación siguiendo los pasos a continuación:

  1. Cargue la imagen usando el método Image.FromFile().
  2. Cree un nuevo objeto Graphics usando el método FromImage().
  3. Inicialice un objeto de clase Pen con el color y tamaño especificados para dibujar las leyendas.
  4. Defina la posición de un elemento de llamada con el color y tamaño especificados.
  5. Después de eso, escribe texto usando el método DrawString().
  6. Finalmente, guarde la imagen de salida usando el método Save().

El siguiente ejemplo de código muestra cómo agregar llamadas a la imagen en 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));
}
Agregar llamadas a imágenes en C#

Agregar llamadas a imágenes en C#

Obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita para probar Aspose.Drawing for .NET sin limitaciones de evaluación.

Llamadas a fotos – Recursos gratuitos

Además de agregar leyendas a las fotografías e imágenes, puede explorar otras funciones de la biblioteca utilizando los siguientes recursos:

Conclusión

En esta publicación, hemos aprendido cómo agregar llamadas a imágenes y fotografías mediante programación en C#. Agregar leyendas a las imágenes puede ser una forma sencilla pero eficaz de mejorar el atractivo visual y la usabilidad de su contenido. Si sigue los pasos descritos y utiliza el ejemplo de código proporcionado, podrá llamar la atención fácilmente sobre los elementos clave de sus imágenes. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también