PSD (Photoshop Document) は、Adobe の一般的な Photoshop アプリケーションで使用されるネイティブの画像ファイル形式です。 PSD ファイルに複数のレイヤーが含まれるロゴ、パンフレット、およびその他の画像を作成するためによく使用されます。場合によっては、PSD ファイルをプログラムで操作する必要があります。この記事では、C# を使用して PSD に新しいレイヤーを追加する方法を学習します。
この記事では、次のトピックについて説明します。
PSD に新しいレイヤーを追加する C# API
PSD ファイルで新しいレイヤーを作成するには、Aspose.PSD for .NET API を使用します。 PSD およびその他のいくつかの サポートされているファイル形式 の作成、編集、または操作をサポートしています。
API の PsdImage クラスでは、PSD ファイルの読み込み、編集、および保存が可能です。このクラスの AddRegularLayer() メソッドは、新しい通常のレイヤーを追加します。一方、AddTextLayer(string, Rectangle) メソッドは、新しいテキスト レイヤーを PSD に追加します。このクラスは、指定したファイルの場所に PSD を保存する Save(string) メソッドも提供します。
APIの DLLをダウンロード するか、NuGet でインストールしてください。
PM> Install-Package Aspose.PSD
C# を使用して PSD に新しいレイヤーを追加する
以下の手順に従って、PSD ファイルに新しいレイヤーを追加できます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次にRectangleなど追加するオブジェクトを用意します。
- 次に、AddRegularLayer() メソッドを呼び出します。
- 必要に応じて、上、左、右、下などのレイヤー位置を設定します。
- その後、SaveArgb32Pixels() メソッドを使用してオブジェクトをレイヤーに割り当てます。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PSD ファイルに新しいレイヤーを追加する方法を示しています。
// このコード例は、PSD 画像ファイルで新しいレイヤーを作成する方法を示しています。
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";
// 既存の PSD を読み込む
var im = (PsdImage)Image.Load(sourceFileName);
// 2 つの int 配列の準備
var data1 = new int[2500];
var data2 = new int[2500];
// 長方形を定義する
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);
for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}
// レイヤー1を追加
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);
// レイヤ 2 を追加
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);
// PSDを保存
im.Save(exportPath, new PsdOptions());
C# を使用して新しいテキスト レイヤーを PSD に追加する
以下の手順に従って、PSD ファイルに新しいテキスト レイヤーを追加できます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次に、Rectangle を定義します。
- 次に、AddTexLayer() メソッドを呼び出します。テキスト入力と長方形オブジェクトを引数として取ります。
- その後、上、左、右、下などのレイヤー位置を設定します。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PSD ファイルに新しいテキスト レイヤーを追加する方法を示しています。
// このコード例は、PSD 画像ファイルで新しいレイヤーを作成する方法を示しています。
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";
// 既存の PSD を読み込む
var im = (PsdImage)Image.Load(sourceFileName);
// テキストレイヤーを追加する
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;
// PSDを保存
im.Save(exportPath, new PsdOptions());
C# を使用して PSD の画像から新しいレイヤーを作成する
以下の手順に従って、PNG または JPG 画像から PSD ファイルに新しいレイヤーを追加することもできます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次に、PNG 画像ファイルをストリームで開きます。
- 次に、ストリーム オブジェクトを使用して Layer クラスのインスタンスを作成します。
- その後、AddLayer() メソッドを呼び出します。 Layer オブジェクトを引数として取ります。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PNG 画像から PSD ファイルに新しいレイヤーを追加する方法を示しています。
// このコード例は、PSD 画像ファイルの PNG 画像から新しいレイヤーを作成する方法を示しています。
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";
// 新しい PSD イメージを作成する
var image = new PsdImage(200, 200);
// PNG 画像を読み込む
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);
Layer layer = null;
try
{
// PSDにレイヤーを追加
layer = new Layer(stream);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw e;
}
// PSDを保存
image.Save(outputFilePath);
無料の一時ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしで Aspose.PSD for .NET を試すことができます。
結論
この記事では、次の方法を学びました。
- 新しい PSD イメージを作成します。
- PSD 画像に新しい通常レイヤーとテキスト レイヤーを作成します。
- C# を使用して、PSD に PNG または JPG 画像を新しいレイヤーとして挿入します。
さらに、ドキュメント を使用して Aspose.PSD for .NET の詳細を学び、API でサポートされているさまざまな機能を調べることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。