彩票走势图

借助Aspose.Drawing 绘图API,在 Java 中添加图像标注

翻译|行业资讯|编辑:胡涛|2024-11-28 10:09:35.650|阅读 6 次

概述:在本文中,您将学习如何在 Java 中添加图像标注。以编程方式添加标注成为增强图像清晰度和自动化的强大工具。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

图像中的标注可突出显示关键细节,使视觉效果更具信息性和吸引力。无论您是在标记图表的一部分还是突出显示图形的重要部分,添加标注都可以提高清晰度。这让您可以轻松地将注意力吸引到图像中的特定点。

在本文中,您将学习如何在 Java 中添加图像标注。以编程方式添加标注成为增强图像清晰度和自动化的强大工具。

Aspose.Drawing 是具有System的跨平台2D绘图引擎,兼容绘图API。绘图库支持将直线、曲线和图形等矢量图形以及各种字体、大小和样式的文本呈现到光栅图像上。支持BMP, PNG, JPEG, GIF,和TIFF等格式。Aspose API 支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.Drawing 最新下载

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>//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产品 

获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP