C# で画像に吹き出しを追加する | 写真に吹き出しを追加する | 画像の吹き出し

画像の吹き出しは、画像や写真の特定の部分に注目を集めるのに役立つグラフィック要素です。吹き出しは、あらゆるビジュアル コンテンツをより明確かつインパクトのあるものにするための秘密兵器です。画像の最も重要な部分を照らす小さなスポットライトと考えてください。この記事では、C# で画像に吹き出しを追加する方法を学びます。

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

  1. イメージコールアウトとは
  2. 画像コールアウトを追加する C# API
  3. C# で画像に吹き出しを追加する方法
  4. 無料リソース

画像コールアウトとは何ですか?

画像の吹き出しは、画像に重ねて表示される情報ラベルで、特定の部分に注意を向け、その重要性を説明します。画像の吹き出しは、引き出し線または矢印の形式で、吹き出しテキストを画像の強調表示された領域に視覚的に結び付けます。吹き出しテキスト ボックスには、指摘された要素の簡単な説明や識別情報が含まれます。

画像コールアウトは、次のような場合によく使用されます。

  • 技術文書とチュートリアル: スクリーンショットや図で特定の機能や特徴を説明します。
  • プレゼンテーション: 画像内の重要な要素を強調します。
  • 教育用教材: イラストやグラフの一部にラベルを付ける。

画像コールアウトを追加する C# API

C# でプログラム的に画像の吹き出しを追加するには、Aspose.Drawing for .NET API を使用します。これは、テキスト、ジオメトリ、画像をプログラム的に描画するためのクロスプラットフォームの 2D グラフィック ライブラリです。画像に吹き出しを作成して追加する機能を提供します。

APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.Drawing

C# で画像に吹き出しを追加する方法

以下の手順に従って、プログラムで画像にコールアウトを簡単に追加できます。

  1. Image.FromFile() メソッドを使用して画像を読み込みます。
  2. FromImage() メソッドを使用して新しい Graphics オブジェクトを作成します。
  3. 吹き出しを描画するには、指定された色とサイズで Pen クラス オブジェクトを初期化します。
  4. 指定された色とサイズで吹き出し要素の位置を定義します。
  5. その後、DrawString() メソッドを使用してテキストを書き込みます。
  6. 最後に、Save() メソッドを使用して出力画像を保存します。

次のコード サンプルは、C# で画像に吹き出しを追加する方法を示しています。

using System.Drawing;
using System.Drawing.AsposeDrawing;
using System.Drawing.Imaging;
using System.Drawing.Text;

using (var image = Image.FromFile("gears.png"))
{
    var graphics = Graphics.FromImage(image);

    graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
    graphics.PageUnit = GraphicsUnit.Pixel;

    DrawCallOut(graphics, new PointF(107, 55), new PointF(179, 5), 74, "mm");

    DrawCallOut(graphics, new PointF(111, 146), new PointF(29, 180), 28, "mm");

    image.Save("gears_with_callout.jpg");
}


void DrawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, string unit)
{
    Pen pen = new Pen(Color.Red, 1);

    Font font = new Font("Arial", 10, FontStyle.Bold);

    string outputValue = $"{value} {unit}";

    var textSize = graphic.MeasureString(outputValue, font);

    int diameterSymbolSize = 12;
    int spaceSize = 3;

    textSize.Width += diameterSymbolSize + spaceSize;

    float callOutMiddleX = endAnchor.X > startAnchor.X ? endAnchor.X - textSize.Width : endAnchor.X + textSize.Width;
    float callOutMiddleY = endAnchor.Y > startAnchor.Y ? endAnchor.Y - textSize.Height : endAnchor.Y + textSize.Height;

    graphic.DrawLine(pen, startAnchor.X, startAnchor.Y, callOutMiddleX, callOutMiddleY);

    float textAnchorX = Math.Min(callOutMiddleX, endAnchor.X);
    float textAnchorY = callOutMiddleY;
    graphic.DrawLine(pen, callOutMiddleX, callOutMiddleY,
                        textAnchorX == callOutMiddleX ? textAnchorX + textSize.Width : textAnchorX,
                        callOutMiddleY);

    graphic.DrawEllipse(pen, new Rectangle((int)textAnchorX + spaceSize,
                                            (int)(textAnchorY - textSize.Height) + spaceSize, 10, 10));

    graphic.DrawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1,
                            (int)textAnchorX + diameterSymbolSize + 2,
                            (int)textAnchorY - diameterSymbolSize - 2);

    SolidBrush brush = new SolidBrush(Color.Blue);

    graphic.DrawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize,
                                                    (int)(textAnchorY - textSize.Height));
}
C# で画像に吹き出しを追加する

C# で画像に吹き出しを追加する

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

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

写真への吹き出し – 無料リソース

写真や画像にコールアウトを追加する以外にも、以下のリソースを使用してライブラリのさまざまな機能を探索できます。

結論

この記事では、C# でプログラム的に画像や写真に吹き出しを追加する方法を学びました。画像に吹き出しを追加することは、コンテンツの視覚的な魅力と使いやすさを向上させるためのシンプルかつ効果的な方法です。説明されている手順に従い、提供されているコード例を使用すると、画像内の重要な要素に簡単に注目を集めることができます。不明な点がある場合は、無料サポート フォーラム からお気軽にお問い合わせください。

参照