Add Image Callouts in Java | Callout Images in 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()));
}
Add Callouts to Images in Java

Add Callouts to Images in Java

画像コールアウト – 無料リソース

写真や画像へのコールアウト追加以外にも、ライブラリのさまざまな機能を以下のリソースを使用して探索してください:

Aspose.Drawing for Java の無料の一時ライセンス を取得して、制限なしでライブラリの全機能を体験してください。これにより、購入前にライブラリの機能と性能を評価することができます。

結論

この投稿では、Java で画像コールアウトを追加する方法を学びました。画像コールアウトを追加することで、重要な詳細を強調して視覚的な内容を強化できます。手順に従い、提供されたコード例を使用して、画像内の重要な要素に簡単に注目を集めることができます。何か不明な点があれば、無料サポートフォーラム でお気軽にお問い合わせください。

See Also