PSD画像ファイルは、ロゴ、バナー、パンフレット、およびその他の多くの目的で画像をデザインするために使用されます。特定のシナリオでは、Javaアプリケーション内でPSDファイルをトリミングまたは回転する必要がある場合があります。この記事では、JavaでPSDファイルをプログラムでトリミングまたは回転する方法について説明します。
- PSDファイルの回転または切り抜き–JavaAPIのインストール
- Javaでシフトアプローチを使用してPSD画像をトリミングする
- Javaで長方形の座標を持つPSD画像を切り抜く
- JavaでPSD画像を任意の角度で回転させる
PSDファイルの回転または切り抜き–JavaAPIのインストール
Aspose.PSD for Java APIは、PSDおよびその他のいくつかのPhotoshopファイル形式の操作をサポートしています。 新しいリリースからJARファイルをダウンロードするか、プロジェクトで次のMaven構成を使用して、APIを構成できます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-psd</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Javaでシフトアプローチを使用してPSD画像をトリミングする
要件に応じてコンテンツをシフトすることにより、PSD画像をトリミングできます。コンテンツをシフトして画像をトリミングするには、以下の手順に従ってください。
- 入力PSDファイルをRasterImageクラスオブジェクトにロードします。
- cacheDataメソッドを使用して画像をキャッシュします。
- シフト値を定義し、それらをcropメソッドに渡します。
- 出力されたトリミングされた画像を保存します。
次のコードは、JavaでプログラムによってコンテンツをシフトすることによってPSD画像をトリミングする方法を示しています。
// RasterImageクラスのインスタンスに既存の画像をロードします
RasterImage rasterImage = (RasterImage)Image.load("Test.psd");
// トリミングする前に、パフォーマンスを向上させるために画像をキャッシュする必要があります
if (!rasterImage.isCached())
{
rasterImage.cacheData();
}
// 4辺すべてのシフト値を定義する
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;
// シフト値に基づいて、画像にトリミングを適用します。
// クロップメソッドは、画像の境界を画像の中心に向かってシフトし、結果をディスクに保存します
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);
// JPEG、PSDまたはその他の形式で出力を保存します。
rasterImage.save("output.jpg", new JpegOptions());
rasterImage.save("output.psd", new PsdOptions());
Javaで長方形の座標を持つPSD画像を切り抜く
座標を指定することにより、PSD画像の任意の長方形の領域をトリミングできます。 PSD画像を切り抜くには、以下の手順に従う必要があります。
- RasterImageクラスのインスタンスに既存の画像をロードします。
- パフォーマンスを向上させるために画像をキャッシュします。
- 希望のサイズでRectangleクラスのインスタンスを作成します。
- cropメソッドを使用して画像をトリミングし、出力ファイルを保存します。
以下のコードスニペットは、Javaで長方形の座標を持つPSDファイルを切り抜く方法を示しています。
String sourceFile = "sample.psd";
String destName = "Cropping-PSD_out.jpg";
// RasterImageクラスのインスタンスに既存の画像をロードします
RasterImage rasterImage = (RasterImage)Image.load(sourceFile);
// パフォーマンスを向上させるために画像をキャッシュする
if (!rasterImage.isCached())
{
rasterImage.cacheData();
}
// 必要なサイズのRectangleクラスのインスタンスを作成します。
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
// Rectangleクラスのオブジェクトに対して切り抜き操作を実行します
rasterImage.crop(rectangle);
// 結果をディスクに保存します
rasterImage.save(destName, new JpegOptions());
JavaでPSD画像を任意の角度で回転させる
状況によっては、PSD画像を特定の角度で回転させる必要がある場合があります。 PSD画像を回転させるには、以下の手順に従ってください。
- RasterImageクラスでソースPSD画像ファイルをロードします。
- 回転する前に、パフォーマンスを向上させるために画像をキャッシュする必要があります。
- rotateメソッドで回転角度を指定します。
- 出力ファイルを保存します。
以下のコードサンプルは、JavaでPSD画像を回転させる方法を説明しています。
String sourceFile = "sample.psd";
String destName = "Rotate-PSD_out.jpg";
// 入力PSD画像ファイルをロードします
RasterImage image = (RasterImage)Image.load(sourceFile);
// 回転する前に、パフォーマンスを向上させるために画像をキャッシュする必要があります
if (!image.isCached())
{
image.cacheData();
}
// 画像サイズを赤い背景色に比例させたまま、PSD画像を20度の角度で回転させます
image.rotate(20f, true, Color.getRed());
// 結果を新しいファイルに保存します
image.save(destName, new JpegOptions());
無料の評価ライセンスを取得する
無料の一時ライセンスをリクエストして、制限なしでAPIを評価できます。
結論
この記事では、PSD画像をトリミングしたり、特定の角度で回転させたりするためのさまざまなアプローチを学びました。 APIは、PSDおよびその他のサポートされているファイル形式で動作する他のいくつかの機能を提供します。また、詳細については、APIドキュメントをご覧ください。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。