Adobe の人気のある Photoshop アプリケーションは、PSD (Photoshop ドキュメント) をネイティブの画像ファイル形式として使用します。 PSD ファイルに複数のレイヤーが含まれるロゴ、パンフレット、およびその他の画像を作成するためによく使用されます。テキストまたは画像の透かしをプログラムで PSD ファイルに追加することで、デザインを簡単に保護できます。この記事では、C# で PSD に透かしを追加する方法を学習します。
この記事では、次のトピックについて説明します。
PSD に透かしを追加する C# Photoshop API
PSD ファイルにテキストまたはイメージの透かしを追加するには、Aspose.PSD for .NET API を使用します。使いやすい Adobe Photoshop ファイル形式操作 API です。 .NET アプリケーションでの PSD および PSB ファイルの読み込みと読み取りが可能になります。この API を使用すると、Adobe Photoshop をインストールしなくても、レイヤー プロパティの更新、透かしの追加、PSD およびその他の サポートされているファイル形式 の圧縮、回転、スケーリングまたはレンダリングを実行できます。
API の PsdImage クラスでは、PSD ファイルの読み込み、編集、および保存が可能です。 Graphics クラスは、画像内のグラフィックを表します。このクラスの DrawString(string, Font, Brush, RectangleF, StringFormat) メソッドは、指定されたブラシとフォント オブジェクトを使用して、指定されたテキスト文字列を指定された四角形に描画します。 Layer クラスは PSD レイヤーを表します。このクラスの DrawImage(Point, RasterImage) メソッドは、レイヤー上に画像を描画します。 Save(string, ImageOptionsBase) メソッドを使用して、PSD を指定したファイルの場所に保存できます。
APIのDLLをダウンロードするか、NuGetを使ってインストールしてください。
PM> Install-Package Aspose.PSD
C# を使用して PSD にテキスト透かしを追加する
以下の手順に従って、任意のテキストを透かしとして PSD ファイルに追加できます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次に、Graphics クラスのインスタンスを作成します。
- 次に、Font クラス オブジェクトを定義して、透かしの幅を描画します。
- 次に、色付きの SolidBrush クラスのインスタンスを作成します。
- 次に、文字列の配置を指定します。
- その後、DrawString() メソッドを呼び出します。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PSD ファイルにテキストの透かしを追加する方法を示しています。
// このコード例は、テキストの透かしを PSD ファイルに追加する方法を示しています。
// PSD ファイルを画像として読み込み、PsdImage にキャストする
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// 描画操作を実行するグラフィックス オブジェクトを作成します。
Graphics graphics = new Graphics(psdImage);
// 透かしを描画するフォントを作成します。
Font font = new Font("Arial", 25.0f);
// 透かし効果を使用するには、カラー アルファを 0 に近づけてソリッド ブラシを作成します。
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));
// 文字列の配置を指定して、透かしを画像の中央に配置します。
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
// 画像の中心に、フォント、半透明のブラシ、回転マトリックスを使用して透かしを描画します。
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);
// イメージを PNG ファイル形式にエクスポートします。
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
次のコード サンプルを使用して、出力を PSD ファイルとして保存することもできます。
psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());
C# を使用して PSD で斜めの透かしを作成する
以下の手順に従って、斜めのテキストの透かしを PSD ファイルに追加できます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次に、Graphics クラスのインスタンスを作成します。
- 次に、Font クラス オブジェクトを定義して、透かしの幅を描画します。
- 一方、SolidBrush クラスのインスタンスを色付きで作成します。
- 次に、変換行列を指定して透かしを回転させます。
- 後で、文字列の配置を指定します。
- その後、DrawString() メソッドを呼び出します。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PSD ファイルに斜めのテキストの透かしを追加する方法を示しています。
// このコード例は、斜めのテキストの透かしを PSD ファイルに追加する方法を示しています。
// PSD ファイルを画像として読み込み、PsdImage にキャストする
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// 描画操作を実行するグラフィックス オブジェクトを作成する
Graphics graphics = new Graphics(psdImage);
// 透かしを描画するフォントを作成する
Font font = new Font("Arial", 25.0f);
// 透かし効果を使用するために、カラー アルファを 0 に近づけてソリッド ブラシを作成します。
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));
// 透かしを回転させる変換行列を指定
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));
// 文字列の配置を指定して、画像の中央に透かしを配置します
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
// 画像の中心にフォント、半透明ブラシを使用して透かしを描画します
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);
// 画像を PNG ファイル形式にエクスポートする
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
C# を使用して画像透かしを PSD に追加する
以下の手順に従って、画像を透かしとして PSD ファイルに追加することもできます。
- まず、Image クラスを使用して PSD ファイルを PsdImage として読み込みます。
- 次に、Layer クラスのインスタンスを作成します。
- 次に、レイヤーの高さ、幅、不透明度を設定します。
- 次に、AddLayer() メソッドを呼び出してレイヤーを PSD に追加します。
- その後、透かし画像をレイヤーに読み込みます。
- 次に、画像の透かしをレイヤーに追加します。
- その後、DrawImage() メソッドを呼び出します。位置と透かし画像レイヤーを引数として取ります。
- 最後に、Save() メソッドを使用して出力ファイルを保存します。
次のコード サンプルは、C# で PSD ファイルに画像の透かしを追加する方法を示しています。
// このコード サンプルは、画像の透かしを PSD ファイルに追加する方法を示しています。
// PSD ファイルを PsdImage オブジェクトに読み込む
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// 新しい透かしレイヤーを追加する
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;
// PSD ファイルにレイヤーを追加する
psdImage.AddLayer(baseLayer);
// 透かし画像をレイヤーにロードする
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);
// 画像の透かしをベースレイヤーに追加
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);
// 透かし入りの最終的な PSD ファイルを保存する
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
無料の一時ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしで Aspose.PSD for .NET を試すことができます。
結論
この記事では、次の方法を学びました。
- PSD 画像に新しいレイヤーを追加します。
- 透かしテキストまたは画像を PSD に追加します。
- C# を使用して PSD を PNG または PSD 画像として保存します。
C# で PSD に透かしを追加するだけでなく、ドキュメント を使用して Aspose.PSD for .NET について詳しく学び、API でサポートされているさまざまな機能を調べることができます。ご不明な点がございましたら、無料サポート フォーラム までお気軽にお問い合わせください。