在 Java 中添加图像标注 | Java 中的标注图像

图像中的标注突出显示关键细节,使视觉效果更加信息丰富和引人入胜。无论您是标记图表的一部分还是突出显示图形的重要部分,添加标注都可以增强清晰度。这使您可以轻松地将注意力集中在图像中的特定点上。在本文中,您将学习如何在 Java 中添加图像标注。程序化地添加标注成为增强图像清晰度和自动化的强大工具。

本文涵盖以下主题:

  1. 在 Java 中添加图像标注的 API
  2. 在 Java 中添加图像标注
  3. 免费资源

在 Java 中添加图像标注的 API

Aspose.Drawing for Java 是一个强大的库,可以程序化地添加图像标注。它使您可以轻松创建和编辑图形。Aspose.Drawing for Java 允许您直接在图像上绘制形状、线条和文本。让我们探讨一下如何高效地使用这个库在 Java 应用程序中添加图像标注。

下载 API 的 JAR 文件 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置。

<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>

在 Java 中向图像添加标注

请按照以下简单步骤程序化地向图像添加标注:

  1. 使用 Image.fromFile() 方法加载图像。
  2. 使用 fromImage() 方法创建 Graphics 对象。
  3. 初始化一个具有所需颜色和大小的 Pen 类对象来绘制标注。
  4. 定义标注元素的位置及其颜色和大小。
  5. 使用 drawString() 方法写入文本。
  6. 使用 save() 方法保存输出图像。

以下代码示例演示了 如何在 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()));
}
在 Java 中向图像添加标注

在 Java 中向图像添加标注

图像标注 – 免费资源

探索库的各种功能,超越向照片和图像添加标注的功能,使用以下资源:

获取免费临时许可证 以体验 Aspose.Drawing for Java 的全部功能。这使您可以在决定购买之前评估库的功能和能力。

结论

在本文中,我们学习了 如何在 Java 中添加图像标注。添加图像标注通过突出显示关键细节来增强您的视觉效果。按照概述的步骤,并使用提供的代码示例轻松地将注意力集中在图像中的关键元素上。如果有任何疑问,请随时在我们的免费支持论坛 上联系我们。

另请参阅