Adicionar texto explicativo à imagem em C# | Textos explicativos para fotos | Chamadas de imagem

Uma frase de destaque de imagem é um elemento gráfico que ajuda a chamar a atenção para partes específicas de uma imagem ou foto. As frases de destaque são uma arma secreta para tornar qualquer conteúdo visual mais claro e impactante. Pense neles como pequenos holofotes brilhando nas partes mais importantes da sua imagem. Neste artigo, aprenderemos como adicionar chamadas a imagens em C#.

Este artigo cobre os seguintes tópicos:

  1. O que são chamadas de imagem
  2. API C# para adicionar chamadas de imagem
  3. Como adicionar frases de destaque a imagens em C#
  4. Recursos Gratuitos

O que são chamadas de imagem?

As legendas de imagem são rótulos informativos sobrepostos a uma imagem para chamar a atenção para partes específicas e explicar seu significado. Os textos explicativos de imagem podem ter a forma de linhas líderes ou setas, conectando visualmente o texto do texto explicativo às áreas destacadas das imagens. Podem ser caixas de texto explicativo, contendo uma breve explicação ou identificação dos elementos apontados.

As chamadas de imagem são comumente usadas em:

  • Documentos técnicos e tutoriais: Para apontar recursos ou funcionalidades específicas em capturas de tela ou diagramas.
  • Apresentações: Para enfatizar os elementos-chave de uma imagem.
  • Materiais educativos: Para rotular partes de uma ilustração ou gráfico.

API C# para adicionar chamadas de imagem

Para adicionar chamadas de imagem programaticamente em C#, usaremos a API Aspose.Drawing for .NET. É uma biblioteca gráfica 2D multiplataforma para desenhar texto, geometrias e imagens programaticamente. Ele fornece a funcionalidade para criar e adicionar textos explicativos às suas imagens.

Por favor baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Drawing

Como adicionar frases de destaque a imagens em C#

Podemos adicionar facilmente textos explicativos às imagens de forma programática, seguindo as etapas abaixo:

  1. Carregue a imagem usando o método Image.FromFile().
  2. Crie um novo objeto Graphics usando o método FromImage().
  3. Inicialize um objeto da classe Pen com a cor e o tamanho especificados para desenhar as chamadas.
  4. Defina a posição de um elemento de texto explicativo com a cor e o tamanho especificados.
  5. Depois disso, escreva o texto usando o método DrawString().
  6. Finalmente, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como adicionar chamadas à imagem em 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));
}
Adicionar frases de destaque a imagens em C#

Adicionar frases de destaque a imagens em C#

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.Drawing for .NET sem limitações de avaliação.

Textos explicativos para fotos – recursos gratuitos

Além de adicionar textos explicativos às fotos e imagens, você pode explorar vários outros recursos da biblioteca usando os recursos abaixo:

Conclusão

Nesta postagem, aprendemos como adicionar chamadas a imagens e fotos programaticamente em C#. Adicionar frases de destaque às imagens pode ser uma maneira simples, mas eficaz de aprimorar o apelo visual e a usabilidade do seu conteúdo. Seguindo as etapas descritas e usando o exemplo de código fornecido, você pode facilmente chamar a atenção para os principais elementos de suas imagens. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também