C# を使用して PSD に新しいレイヤーを追加する

PSD (Photoshop Document) は、Adobe の一般的な Photoshop アプリケーションで使用されるネイティブの画像ファイル形式です。 PSD ファイルに複数のレイヤーが含まれるロゴ、パンフレット、およびその他の画像を作成するためによく使用されます。場合によっては、PSD ファイルをプログラムで操作する必要があります。この記事では、C# を使用して PSD に新しいレイヤーを追加する方法を学習します。

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

  1. PSD に新しいレイヤーを追加する C# API
  2. PSDに新規レイヤーを追加
  3. PSD に新しいテキスト レイヤーを追加
  4. 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 ファイルに新しいレイヤーを追加できます。

  1. まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
  2. 次にRectangleなど追加するオブジェクトを用意します。
  3. 次に、AddRegularLayer() メソッドを呼び出します。
  4. 必要に応じて、上、左、右、下などのレイヤー位置を設定します。
  5. その後、SaveArgb32Pixels() メソッドを使用してオブジェクトをレイヤーに割り当てます。
  6. 最後に、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());
Add-New-Layer-to-PSD-Programmatically-using-CSharp

C# を使用してプログラムで新しいレイヤーを PSD に追加する

C# を使用して新しいテキスト レイヤーを PSD に追加する

以下の手順に従って、PSD ファイルに新しいテキスト レイヤーを追加できます。

  1. まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
  2. 次に、Rectangle を定義します。
  3. 次に、AddTexLayer() メソッドを呼び出します。テキスト入力と長方形オブジェクトを引数として取ります。
  4. その後、上、左、右、下などのレイヤー位置を設定します。
  5. 最後に、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());
CSharp を使用して PSD に新しいテキスト レイヤーを追加します。

C# を使用してプログラムで新しいテキスト レイヤーを PSD に追加する

C# を使用して PSD の画像から新しいレイヤーを作成する

以下の手順に従って、PNG または JPG 画像から PSD ファイルに新しいレイヤーを追加することもできます。

  1. まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
  2. 次に、PNG 画像ファイルをストリームで開きます。
  3. 次に、ストリーム オブジェクトを使用して Layer クラスのインスタンスを作成します。
  4. その後、AddLayer() メソッドを呼び出します。 Layer オブジェクトを引数として取ります。
  5. 最後に、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);
CSharp を使用して PSD 内のイメージから新しいレイヤーを作成

C# を使用して PSD の画像から新しいレイヤーを作成する

無料の一時ライセンスを取得する

無料の一時ライセンスを取得して、評価制限なしで Aspose.PSD for .NET を試すことができます。

結論

この記事では、次の方法を学びました。

  • 新しい PSD イメージを作成します。
  • PSD 画像に新しい通常レイヤーとテキスト レイヤーを作成します。
  • C# を使用して、PSD に PNG または JPG 画像を新しいレイヤーとして挿入します。

さらに、ドキュメント を使用して Aspose.PSD for .NET の詳細を学び、API でサポートされているさまざまな機能を調べることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目