透かしは、コンテンツを保護し、著作権を主張するための便利な方法です。デジタル文書や画像に透かしを入れることで、不正使用や盗難を防ぐことができます。これに従って、この記事では、Javaアプリケーション内の画像の透かし機能を自動化する方法について説明します。特に、Javaを使用して画像に透かしを追加する方法を学習します。これは、Imageのバッチに透かしを追加する必要がある場合に特に役立ちます。
画像に透かしを追加するJavaAPI
画像に透かしを追加するには、Aspose.Imaging for Javaを使用します。これは、Javaアプリケーション内からさまざまな画像形式を操作できるようにする画像処理APIです。 APIのJARをダウンロードするか、次の構成を使用してMavenベースのアプリケーションにインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>20.12</version>
<classifier>jdk16</classifier>
</dependency>
Javaを使用して画像に透かしを追加する
以下は、Aspose.Imagingを使用して画像に透かしを追加する手順です。
- Imageクラスを使用して画像ファイルをロードします。
- Graphicsクラスのオブジェクトを作成し、Imageオブジェクトで初期化します。
- FontおよびSolidBrushオブジェクトを作成して初期化します。
- Graphics.drawString(String s, Font font, Brush Brush, float x, float y)メソッドを使用して透かしを追加します。
- Image.save()メソッドを使用して画像を保存します。
次のコードサンプルは、Javaを使用して画像に透かしを追加する方法を示しています。
// 画像を読み込む
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");
// Graphicsクラスのインスタンスを作成して初期化します
Graphics graphics= new Graphics(image);
// フォントのインスタンスを作成します
Font font = new Font("Times New Roman", 16, FontStyle.Bold);
// SolidBrushのインスタンスを作成し、そのプロパティを設定します
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);
// 特定のポイントでSolidBrushオブジェクトとFontオブジェクトを使用して文字列を描画します
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, new PointF(image.getWidth()-100, image.getHeight()-100));
// 画像を保存
image.save("watermarked-image.png");
Javaの画像に斜めの透かしを追加する
場合によっては、透かしが画像に斜めに適用されます。このような場合、Aspose.Imaging for Javaには、透かしを回転できる透かし変換オプションが用意されています。以下は、画像に斜めの透かしを追加する手順です。
- Imageクラスを使用して画像ファイルをロードします。
- Graphicsクラスのオブジェクトを作成し、Imageオブジェクトで初期化します。
- FontおよびSolidBrushオブジェクトを作成して初期化します。
- Sizeオブジェクトで画像サイズを取得します。
- 新しいMatrixオブジェクトを作成し、平行移動と変換を目的の角度に設定します。
- Graphics.setTransform(Matrix)メソッドを使用して、透かしの変換を設定します。
- Graphics.drawString(String s, Font font, Brush Brush, float x, float y)メソッドを使用して透かしを追加します。
- Image.save()メソッドを使用して画像を保存します。
次のコードサンプルは、Javaを使用して画像に斜めの透かしを追加する方法を示しています。
// 画像を読み込む
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");
// Graphicsクラスのインスタンスを作成して初期化します
Graphics graphics= new Graphics(image);
// フォントのインスタンスを作成します
Font font = new Font("Times New Roman", 16, FontStyle.Bold);
// SolidBrushのインスタンスを作成し、そのプロパティを設定します
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);
Size sz = graphics.getImage().getSize();
// 変換用のMatrixクラスのオブジェクトを作成します
Matrix matrix = new Matrix();
// 最初に平行移動、次に回転
matrix.translate(sz.getWidth() / 2, sz.getHeight() / 2);
matrix.rotate(-45.0f);
// マトリックスを介して変換を設定します
graphics.setTransform(matrix);
// 特定のポイントでSolidBrushオブジェクトとFontオブジェクトを使用して文字列を描画します
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, 0, 0);
// 画像を保存
image.save("watermarked-image.png");
無料のAPIライセンスを取得する
評価の制限なしにAPIを試すために、無料の一時ライセンスを取得できます。
結論
透かしは、デジタルドキュメントや画像を不正または違法な使用から保護するために使用されます。この記事では、デジタル画像を保護するために、Javaを使用して画像に透かしを追加する方法について説明しました。さらに、透かしに変換を適用する方法を見てきました。 ドキュメントを使用して、Java画像処理APIの詳細を調べることができます。