Agregar leyendas a imágenes en Java | Leyendas en imágenes en Java

Las leyendas en las imágenes destacan detalles clave que hacen que los visuales sean más informativos y atractivos. Ya sea que esté etiquetando una parte de un diagrama o resaltando secciones importantes de un gráfico, agregar leyendas puede mejorar la claridad. Esto le permite atraer la atención a puntos específicos en una imagen con facilidad. En este artículo, aprenderá cómo agregar leyendas a imágenes en Java. Agregar leyendas programáticamente se convierte en una herramienta poderosa para mejorar la claridad de las imágenes y la automatización.

Este artículo cubre los siguientes temas:

  1. API de Java para agregar leyendas a imágenes
  2. Agregar leyendas a imágenes en Java
  3. Recursos gratuitos

API de Java para agregar leyendas a imágenes

Aspose.Drawing para Java es una biblioteca poderosa para agregar leyendas a imágenes programáticamente. Le permite crear y editar gráficos con facilidad. Aspose.Drawing para Java le permite dibujar formas, líneas y texto directamente sobre las imágenes. Exploremos cómo usar esta biblioteca para agregar leyendas a imágenes en sus aplicaciones Java de manera eficiente.

Por favor, descargue el JAR de la API o agregue la siguiente configuración pom.xml en una aplicación Java basada en Maven.

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-drawing</artifactId>
        <version>24.4</version>
    </dependency>
</dependencies>

Agregar leyendas a imágenes en Java

Siga estos sencillos pasos para agregar leyendas a imágenes de manera programática:

  1. Cargue la imagen usando el método Image.fromFile().
  2. Cree un objeto Graphics usando el método fromImage().
  3. Inicialice un objeto de la clase Pen con el color y tamaño deseados para dibujar las leyendas.
  4. Defina la posición para el elemento de la leyenda con el color y tamaño especificados.
  5. Use el método drawString() para escribir texto.
  6. Guarde la imagen de salida usando el método save().

El siguiente ejemplo de código demuestra cómo agregar leyendas a una imagen en Java.

import com.aspose.drawing.Color;
import com.aspose.drawing.Font;
import com.aspose.drawing.FontStyle;
import com.aspose.drawing.Graphics;
import com.aspose.drawing.GraphicsUnit;
import com.aspose.drawing.Image;
import com.aspose.drawing.Pen;
import com.aspose.drawing.PointF;
import com.aspose.drawing.RectangleF;
import com.aspose.drawing.SizeF;
import com.aspose.drawing.SolidBrush;
import com.aspose.drawing.text.TextRenderingHint;
public static void main(String[] args) {
// Load an image
Image image = Image.fromFile("gears.png");
Graphics graphics = Graphics.fromImage(image);
graphics.setTextRenderingHint(TextRenderingHint.AntiAliasGridFit);
graphics.setPageUnit(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_callout.jpg");
}
private static void drawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, String unit)
{
Pen pen = new Pen(Color.getRed(), 1);
Font font = new Font("Arial", 10, FontStyle.Bold);
String outputValue = value + " " + unit;
SizeF textSize = graphic.measureString(outputValue, font);
int diameterSymbolSize = 12;
int spaceSize = 3;
textSize.setWidth(textSize.getWidth() + diameterSymbolSize + spaceSize);
float callOutMiddleX = endAnchor.getX() > startAnchor.getX() ? endAnchor.getX() - textSize.getWidth() : endAnchor.getX() + textSize.getWidth();
float callOutMiddleY = endAnchor.getY() > startAnchor.getY() ? endAnchor.getY() - textSize.getHeight() : endAnchor.getY() + textSize.getHeight();
graphic.drawLine(pen, startAnchor.getX(), startAnchor.getY(), callOutMiddleX, callOutMiddleY);
float textAnchorX = Math.min(callOutMiddleX, endAnchor.getX());
float textAnchorY = callOutMiddleY;
graphic.drawLine(pen, callOutMiddleX, callOutMiddleY,
textAnchorX == callOutMiddleX ? textAnchorX + textSize.getWidth() : textAnchorX,
callOutMiddleY);
graphic.drawEllipse(pen, new RectangleF((int)textAnchorX + spaceSize,
(int)(textAnchorY - textSize.getHeight()) + 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.getBlue());
graphic.drawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize,
(int)(textAnchorY - textSize.getHeight()));
}
Agregar leyendas a imágenes en Java

Agregar leyendas a imágenes en Java

Leyendas en imágenes – Recursos gratuitos

Explore varias características de la biblioteca más allá de agregar leyendas a fotos e imágenes utilizando los recursos a continuación:

Obtenga una licencia temporal gratuita para experimentar el poder completo de Aspose.Drawing para Java sin limitaciones. Esto le permitirá evaluar las características y capacidades de la biblioteca antes de decidir comprarla.

Conclusión

En esta publicación, hemos aprendido cómo agregar leyendas a imágenes en Java. Agregar leyendas a imágenes mejora sus visuales al destacar detalles clave. Siga los pasos descritos y use el ejemplo de código proporcionado para atraer fácilmente la atención a los elementos clave de sus imágenes. En caso de cualquier duda, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también