Java を使用して画像にウォーターマークを追加する

ウォーターマークは、写真や画像の上に重ねて配置される画像、ロゴ、パターン、またはテキストです。画像の作成者を識別するために使用できます。クラウド上のプログラムで任意の画像に透かしを追加できます。この記事では、Java の REST API を使用して画像にウォーターマークを追加する方法に焦点を当てます。

この記事では次のトピックについて説明します。

ウォーターマーク REST API と Java SDK

画像に透かしを入れるには、GroupDocs.Watermark Cloud の Java SDK API を使用します。 PDF、Microsoft Word、Powerpoint などのサポートされている形式の画像やドキュメントの透かしをプログラムで追加、削除、検索、置換できます。現在、クラウド API 用に .NET SDK も提供しています。

次の pom.xml 構成を追加することで、Maven ベースの Java アプリケーションで GroupDocs.Watermark Cloud を簡単に使用できます。

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>https://repository.groupdocs.cloud/repo</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-watermark-cloud</artifactId>
	<version>19.12</version>
	<packaging>jar</packaging>
</dependency>

手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。以下に示すように、コードに ID とシークレットを追加します。

String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";

Configuration configuration = new Configuration(clientId, clientSecret);

REST APIを使用して画像にテキスト透かしを追加する

以下に説明する簡単な手順に従って、写真または画像ファイルにテキストの透かしを追加できます。

JPG画像をアップロードする

まず、以下のコード例を使用して、JPG 画像ファイルをクラウドにアップロードします。

// APIの初期化
FileApi apiInstance = new FileApi(clientId, clientSecret);
File fileStream = new File("C:\\Files\\sample.jpg");

// ファイルアップロードリクエストを作成する
UploadFileRequest request = new UploadFileRequest("sample.jpg", fileStream, myStorage);
FilesUploadResult response = apiInstance.uploadFile(request);

その結果、JPG ファイルが Cloud Storage にアップロードされ、ダッシュボードの ファイル セクション で利用できるようになります。

Javaを使用してJPG画像にテキスト透かしを追加する

以下の手順に従って、プログラムで JPEG 画像にテキストの透かしを追加できます。

  • WatermarkApi のインスタンスを作成する
  • FileInfo モデルで JPEG 画像ファイルのパスを設定します。
  • WatermarkOptions を定義し、FileInfo を設定する
  • TextWatermarkOptions の定義
  • テキスト、フォント ファミリー、フォント サイズ、およびテキストの配置を設定する
  • 透かしテキストの前景色を設定する
  • ウォーターマークの位置を定義する
  • WatermarkDetails を定義し、TextWatermarkOptions と Position を設定します
  • WatermarkDetails をリストに設定
  • WatermarkOptions を使用して AddRequest を作成する
  • WatermarkApi.add() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して画像にテキストをウォーターマークとして追加する方法を示しています。

// APIの初期化
WatermarkApi apiInstance = new WatermarkApi(configuration);

// JPGファイルのパスを設定する
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);

// 透かしオプションを定義する
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);

// テキスト透かしオプションを定義する
TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();
textWatermarkOptions.setText("Copyright© 2021");
textWatermarkOptions.setFontFamilyName("Arial");
textWatermarkOptions.setFontSize(12d);
textWatermarkOptions.setTextAlignment("Center");

// 透かしのテキストの色を設定する
Color color = new Color();
color.setName("White");
textWatermarkOptions.setForegroundColor(color);

// ウォーターマークの詳細を定義する
WatermarkDetails watermarkDetails = new WatermarkDetails();
watermarkDetails.setTextWatermarkOptions(textWatermarkOptions);

// ウォーターマークの位置を設定する
Position position = new Position();
position.setX(180.0);
position.setY(450.0);
watermarkDetails.setPosition(position);

// ウォーターマークの詳細を設定する
List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);

// create ウォーターマークの追加リクエスト
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);

System.out.println("Resultant file path: " + response.getPath());
画像にテキストの透かしを追加する

画像にテキストの透かしを追加する

更新されたイメージをダウンロードする

上記のコード サンプルは、透かし入りの画像ファイルをクラウドに保存します。次のコードサンプルを使用してダウンロードできます。

// APIの初期化
FileApi apiInstance = new FileApi(clientId, clientSecret);

// ダウンロードファイルリクエストの作成
DownloadFileRequest request = new DownloadFileRequest("watermark/added_watermark/sample_jpg/sample.jpg", "", null);
File response = apiInstance.downloadFile(request);

REST APIを使用して画像にウォーターマークを追加する

以下の手順に従って、プログラムで JPEG 画像に画像またはロゴの透かしを追加できます。

  • WatermarkApi のインスタンスを作成する
  • FileInfo モデルで JPEG 画像ファイルのパスを設定します。
  • WatermarkOptions を定義し、FileInfo を設定する
  • 画像透かしオプションの定義
  • PNG画像のFilePathにウォーターマークを設定します
  • ウォーターマークの位置を定義する
  • WatermarkDetails を定義し、ImageWatermarkOptions と Position を設定します
  • WatermarkDetails をリストに設定
  • WatermarkOptions を使用して AddRequest を作成する
  • WatermarkApi.add() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して JPEG 画像に透かしとして画像を追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// APIの初期化
WatermarkApi apiInstance = new WatermarkApi(configuration);

// JPGファイルのパスを設定する
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);

// 透かしオプションを定義する
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);

// ウォーターマークの詳細を定義する
WatermarkDetails watermarkDetails = new WatermarkDetails();

// 透かし画像オプションを定義する
ImageWatermarkOptions imageWatermarkOptions = new ImageWatermarkOptions();
FileInfo image = new FileInfo();
image.setFilePath("sample_watermark.png");
image.setStorageName(myStorage);
imageWatermarkOptions.setImage(image);

// ウォーターマークの位置を設定する
Position position = new Position();
position.setX(100.0);
position.setY(450.0);
watermarkDetails.setPosition(position);

// 画像透かしオプションを設定する
watermarkDetails.setImageWatermarkOptions(imageWatermarkOptions);

List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);

// 追加リクエストの作成
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);

System.out.println("Resultant file path: " + response.getPath());
画像に透かしを追加する

画像に透かしを追加する

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン ウォーターマーク ツールをお試しください。 https://products.groupdocs.app/watermark/jpeg

結論

結論として、クラウド上の JPEG 画像にテキストまたは画像の透かしを追加する方法を学習しました。また、プログラムで画像ファイルをクラウドにアップロードし、クラウドからダウンロードする方法も学習しました。 GroupDocs.Watermark Cloud API について詳しくは、ドキュメント をご覧ください。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、サポート までお気軽にお問い合わせください。

関連項目