私たちは視覚的な情報のためにたくさんの画像を見たり作成したりします。他の人がそのテキストを変更できないような方法で、画像にテキストを追加または描画する必要がある場合があります。画像の透かしは、最も一般的な例の1つです。同様に、画像のラベル付けやレビューにもテキストの描画が必要になる場合があります。画像にテキストを描画することのさらなる使用法を探りましょう:
- 画像にフォーマットされたテキストを追加、挿入、または描画– C#APIのインストール
- C#を使用してプログラムで既存の画像に透かしとしてテキストを描画する
- プログラムでC#で最初から新しい画像にテキストを描画する
画像にフォーマットされたテキストを追加、挿入、または描画– C#APIのインストール
Aspose.Drawing for .NET APIは、System.Drawingパッケージと互換性のある2Dグラフィックライブラリです。長方形、曲線、線、テキスト、およびその他のグラフィックを画像にレンダリングすることをサポートします。サードパーティのライブラリに依存しないため、どのような環境でも使用できます。たとえば、System.DrawingライブラリがサポートされていないLinuxまたはAzureFunctionsV2でグラフィックをレンダリングするためにも使用できます。 Aspose.Drawing for .NET APIをインストールするには、ダウンロードセクションからダウンロードするか、次のインストールコマンドを使用します。
PM> Install-Package Aspose.Drawing
C#を使用してプログラムで既存の画像に透かしとしてテキストを描画する
画像のテキスト透かしは、画像の所有権、所属、または目的を示すためによく使用されます。次の手順で、既存の画像に透かしとしてテキストを追加または描画できます。
- 既存の入力画像を読み込む
- グラフィックスクラスオブジェクトを初期化します
- テキストの書式とテキストを設定する
- テキストを描く
- 出力画像を保存する
次のコードは、C#を使用してプログラムで既存の画像に透かしとしてテキストを描画する方法を示しています。
// 既存の入力画像を読み込む
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");
// Graphicsクラスオブジェクトを初期化します
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
// 色を指定しながらブラシを宣言します
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);
// テキストフォントを設定する
Font arial = new Font("Arial", 20, FontStyle.Regular);
// テキストを設定する
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);
// テキストを描く
graphics.DrawString(text, arial, brush, rectangle);
// 出力画像を保存する
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");
プログラムでC#で最初から新しい画像にテキストを描画する
さまざまな目的のために、画像形式でテキストを描画する必要がある場合があります。他の人がテキストの内容を変更またはコピーしないようにしたい場合があります。新しい画像にテキストを描画するには、次の手順に従う必要があります。
- 新しい画像を最初から初期化する
- Brushクラスオブジェクトを初期化します
- フォントのスタイルやサイズなどを設定します。
- テキストを描く on the image
- 出力画像を保存する
以下のコードスニペットは、C#言語を使用してプログラムで新しい画像にテキストを最初から描画する方法を示しています。
// 新しい画像を最初から初期化する
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));
// Brushクラスオブジェクトを初期化します
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);
// フォントのスタイルやサイズなどを設定します。
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);
// 画像にテキストを描画します
graphics.DrawString(text, arial, brush, rectangle);
// 出力画像を保存する
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");
結論
この記事では、画像にテキストを追加または描画する方法を学びました。サードパーティのアプリケーションをインストールしなくても、既存の画像と新しい画像にテキスト透かしを最初から描画できます。さらに、JPG、PNG、BMP、アイコン、Tiffなどの多くの画像形式を処理できます。APIは、要件に応じて図面やグラフィックを処理するためのいくつかの機能を提供します。さまざまなシナリオのショーケースとして設計されたサンプルプロジェクトにアクセスしてください。ご不明な点がございましたら、無料サポートフォーラムからいつでもお気軽にお問い合わせください。乾杯!
関連項目
情報:Asposeは最近、無料のText to GIFConverterを開発しました。