画像に注釈を追加することは、レポート作成、eコマース、ドキュメントワークフローで頻繁に求められる要件です。 Aspose.Drawing for .NET は、.NET アプリケーションで JPG 画像にテキストを書き込むことを簡単にする堅牢な SDK を提供します。このガイドでは、JPG の読み込み、フォントの設定、オーバーレイテキストの描画、最終画像の保存まで、明確なステップバイステップのコード例を使って完全なワークフローを学びます。

.NET で JPG 画像にテキストをオーバーレイする手順

  1. Install the Aspose.Drawing SDK - NuGet コマンド Install-Package Aspose.Drawing を実行して、ライブラリをプロジェクトに追加します。
dotnet add package Aspose.Drawing
  1. Load the source JPG - Image.FromFile を使用して、注釈を付けたいファイルを開きます。
using Aspose.Drawing;
using Aspose.Drawing.Imaging;

// Load the image Image image = Image.FromFile(“input.jpg”);

  1. Graphics オブジェクトの作成 - このオブジェクトは描画メソッドを提供します。
Graphics graphics = Graphics.FromFile(image);
  1. フォントとブラシの設定 - フォントファミリー、サイズ、スタイル、カラーを選択します。
Font font = new Font("Arial", 36, FontStyle.Bold);
SolidBrush brush = new SolidBrush(Color.Red);
  1. テキストの描画 - DrawString を呼び出し、目的の文字列と位置を指定します。
PointF point = new PointF(50, 50);
graphics.DrawString("Sample Text", font, brush, point);
  1. 変更された画像の保存 - 変更を JPG ファイルに保存します。
image.Save("output.jpg", ImageFormat.Jpeg);

これらの手順は、外観と配置を完全に制御しながら、.NET で JPG 画像にテキストを書き込む方法を示しています。

.NET で JPG 画像にテキストを追加する - 完全コード例

以下の例は、すべてをまとめて単一の実行可能なプログラムにしています。

using System;
using Aspose.Drawing;
using Aspose.Drawing.Imaging;
using Aspose.Drawing.Drawing2D;
using Aspose.Drawing.Fonts;
using Aspose.Drawing.Brushes;
using Aspose.Drawing.Colors;

class Program { static void Main() { // Load the JPG image using (Image image = Image.FromFile(“input.jpg”)) { // Create a Graphics object for drawing using (Graphics graphics = Graphics.FromFile(image)) { // Define the font (Arial, 36pt, bold) Font font = new Font(“Arial”, 36, FontStyle.Bold);

// Define the brush (red color) SolidBrush brush = new SolidBrush(Color.Red);

// 描画されるテキストの位置 PointF location = new PointF(50, 50);

// 画像にテキストを描画する graphics.DrawString(“Hello, Aspose!”, font, brush, location); }

// 編集した画像を新しい JPG ファイルとして保存
            image.Save("output.jpg", ImageFormat.Jpeg);
        }
    }
}

Note: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(input.jpgoutput.jpg)を実際の場所に合わせて更新し、必要な依存関係がすべてインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント または サポートチーム にお問い合わせください。

.NET でのインストールとセットアップ

  1. NuGet で SDK を追加

    Install-Package Aspose.Drawing
    

    パッケージは公式のダウンロードページで入手できます。

  2. ライセンスを適用する(テスト用にオプション)

var license = new Aspose.Drawing.License();
license.SetLicense("Aspose.Drawing.lic");

評価中は一時ライセンスページから一時ライセンスを使用してください。

  1. API を参照する
    ソース ファイルに using Aspose.Drawing; と関連する名前空間を追加します。詳細な API 情報は API リファレンス にあります。

Aspose.Drawing を使用した .NET で JPG 画像にテキストを書き込む

Aspose.Drawing は、JPG、PNG、BMP などのラスター形式で直接動作する豊富な描画プリミティブを提供します。同じベクターグラフィックス用 API を活用することで、画像を事前に変換せずにテキスト、シェイプ、または透かしをプログラムでオーバーレイできます。これにより、レポート生成、製品カタログ、または画像注釈が必要なあらゆるワークフローに最適です。

Aspose.Drawing Features That Matter for This Task

  • High‑performance raster handling - 大きなJPGファイルの読み込みと保存を最適化します。
  • Full font support - TrueType、OpenType、システムフォントは Font クラスを介して使用できます。
  • Precise text measurement - Graphics.MeasureString を使用して正確なバウンディングボックスを計算し、クリッピングを防止します。
  • Device‑independent rendering - Windows、Linux、macOS のランタイム間で一貫した出力を提供します。

フォントとテキストのスタイリングの処理

読みやすさのために適切なフォントとサイズを選択することは重要です。FontFamily コレクションを使用して利用可能なフォントを一覧表示し、目的のスタイルで Font インスタンスを作成します。

FontFamily[] families = FontFamily.Families;
Font font = new Font("Calibri", 24, FontStyle.Italic);

滑らかなエッジのために、アンチエイリアシングを適用することもできます:

graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

文字列を描画する前に測定すると、正しく配置できます:

SizeF size = graphics.MeasureString("Sample Text", font);
float x = (image.Width - size.Width) / 2;
float y = (image.Height - size.Height) / 2;

Saving the Modified JPG Image

描画後、目的のフォーマットと品質設定で Image.Save を呼び出します。JPGの場合、EncoderParameters を使用して圧縮レベルを制御できます。

EncoderParameters ep = new EncoderParameters(1);
ep.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
image.Save("output.jpg", ImageFormat.Jpeg, ep);

ImageGraphics オブジェクトを適切に破棄(using ステートメントを使用)することで、ファイルハンドルが速やかに解放されます。

画像処理のパフォーマンス最適化

  • オブジェクトの再利用 - バッチで複数の画像を処理する際に、単一の Graphics インスタンスを作成します。
  • メモリ使用量の制限 - 必要な解像度で画像を読み込みます。サムネイルだけが必要な場合は、フルサイズのファイルを読み込むのを避けます。
  • 並列処理 - Parallel.ForEach を使用して多数の画像を同時に処理しますが、レースコンディションを防ぐためにスレッドごとに別々の Graphics オブジェクトを保持します。

テキスト配置のベストプラクティス

  • 境界の計算 - 描画前にテキストサイズを測定し、画像の境界内に収めるようにします。
  • コントラストが重要 - 背景と対照的なブラシカラーを選択し、可読性向上のためにテキストの背後に半透明の矩形を追加することを検討してください。
  • ハードコーディングされた座標を避ける - 位置は画像のサイズ(例: パーセンテージ)に基づいて設定し、さまざまな画像サイズに対応できるようにします。
  • 異なる DPI 設定でテスト - 標準 DPI と高 DPI ディスプレイの両方でテキストが鮮明に表示されることを確認します。

結論

.NET で JPG 画像にカスタムテキストをオーバーレイするのは、Aspose.Drawing for .NET を使用すれば簡単です。上記の手順、SDK のインストール、画像の読み込み、フォントの設定、文字列の描画、結果の保存に従うことで、任意の画像にプロフェッショナル品質の注釈を追加できます。製品版で使用する際は適切なライセンスを取得することを忘れないでください。まずは一時ライセンスで開始し、価格ページ からフルライセンスを購入できます。Aspose.Drawing のパフォーマンス重視の API を使用すれば、画像注釈を迅速かつ確実に統合できます。

FAQ

.NET で JPG 画像にテキストを書き込み、画像品質を損なわない方法は?
Image.Save メソッドを使用し、JPEG の品質パラメータ(例: 90L)を指定して、不要なリサンプリングを避けます。Aspose.Drawing SDK は元の画像メタデータとカラープロファイルを保持します。

マルチラインテキストを描画したり、長い文字列を折り返すことはできますか?
はい。Graphics.DrawString を使用し、行揃えと単語折り返しを指定する StringFormat を指定します。各行を測定して、画像の境界内に収めます。

JPGで作業した後、透明なPNGにテキストを追加することは可能ですか?
もちろんです。JPGを読み込み、テキストを描画し、ImageFormat.Png を指定して結果をPNGとして保存します。これにより、ラスタ画像が変換され、描画されたテキストはそのまま保持されます。

Aspose.Drawing for .NET の利用可能なライセンスオプションは何ですか?
評価用の一時ライセンスは一時ライセンスページから取得できます。 本番環境では、価格ページからフルライセンスを購入してください。

さらに読む