円、線、長方形などの形状を描画して、さまざまなグラフィカル オブジェクトを作成する必要があることがよくあります。これらの形状は、画像の注釈にも使用できます。この記事では、C# でプログラムによってさまざまな図形を描画する方法を学習します。線、楕円、円弧、および長方形を描画し、それらの画像を生成する方法を示します。
図形を描画するための C# API - 無料ダウンロード
さまざまなタイプの形状を描画するには、Aspose.Imaging for .NET を使用します。これは、画像を操作して描画を作成するための幅広い機能を提供する素晴らしい画像編集 API です。 API を ダウンロード するか、NuGet からインストールすることができます。
PM> Install-Package Aspose.Imaging
C# を使用して線を引く
以下は、C# で線を描画する手順です。
- まず、BmpOptions クラスのオブジェクトを作成し、BitsPerPixel プロパティを使用してピクセルあたりのビット数を設定します。
- 次に、Source プロパティを使用して StreamSource を割り当てます。
- 新しい画像を作成し、BmpOptions オブジェクトと画像の高さと幅で初期化します。
- Graphics クラスのオブジェクトを作成し、Image オブジェクトで初期化します。
- Graphics.Clear() メソッドを使用して、画像の表面を色でクリアします。
- Graphics.DrawLine(Pen, int, int, int, int) メソッドを使用して線を描画します。
- Image.Save() メソッドを使用して画像を生成し、保存します。
次のコード サンプルは、C# で線を描画する方法を示しています。
// BmpOptions の作成
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// BmpOptions のインスタンスのソース プロパティを定義する
bmpCreateOptions.Source = new StreamSource();
// Image のインスタンスを作成し、create メソッドを呼び出します。
// bmpCreateOptions オブジェクト
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Graphics クラスのインスタンスを作成して初期化する
Graphics graphic = new Graphics(image);
// 画像面を白色でクリアに
graphic.Clear(Color.White);
// 青色の Pen オブジェクトを指定して点線を描画し、
// 座標点
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);
// Solidを持つPenオブジェクトを指定して連続線を描画
// 赤色と 2 点構造のブラシ
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
new Point(18, 18), new Point(18, 200));
// Solidを持つPenオブジェクトを指定して連続線を描画
// 白い色と 2 点構造のブラシ
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
new Point(200, 18), new Point(18, 18));
// すべての変更を保存
image.Save("draw_lines.bmp");
以下は、上記のコード サンプルの出力です。
C# を使用して楕円を描く
以下は、C# で楕円を描画する手順です。
- まず、BmpOptions クラスのオブジェクトを作成し、BitsPerPixel プロパティを使用してピクセルあたりのビット数を設定します。
- 次に、Source プロパティを使用して StreamSource を割り当てます。
- 新しい画像を作成し、BmpOptions オブジェクトと画像の高さと幅で初期化します。
- Graphics クラスのオブジェクトを作成し、Image オブジェクトで初期化します。
- Graphics.Clear() メソッドを使用して、画像の表面を色でクリアします。
- Graphics.DrawEllipse(Pen, Rectangle) メソッドを使用して楕円を描画します。
- Image.Save() メソッドを使用して画像を生成し、保存します。
次のコード サンプルは、C# でイメージに楕円を描画する方法を示しています。
// BmpOptions の作成
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// BmpOptions のインスタンスのソース プロパティを定義する
bmpCreateOptions.Source = new StreamSource();
// Image のインスタンスを作成し、create メソッドを呼び出します。
// bmpCreateOptions オブジェクト
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Graphics クラスのインスタンスを作成して初期化する
Graphics graphic = new Graphics(image);
// 画像面を白色でクリアに
graphic.Clear(Color.White);
// 赤色の Pen オブジェクトを指定して、点線の楕円形を描画します。
// color と周囲の Rectangle
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));
// を持つ Pen オブジェクトを指定して、連続した楕円形を描画します。
// solid brush with blue color と周囲の Rectangle
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// すべての変更を保存
image.Save("draw_ellipse.bmp");
以下は、上記のコード サンプルの出力です。
C# を使用して円弧を描く
以下は、C# で円弧を描画する手順です。
- まず、BmpOptions クラスのオブジェクトを作成し、BitsPerPixel プロパティを使用してピクセルあたりのビット数を設定します。
- 次に、Source プロパティを使用して StreamSource を割り当てます。
- 新しい画像を作成し、BmpOptions オブジェクトと画像の高さと幅で初期化します。
- Graphics クラスのオブジェクトを作成し、Image オブジェクトで初期化します。
- Graphics.Clear() メソッドを使用して、画像の表面を色でクリアします。
- Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float swiftAngle) メソッドを使用して円弧を描画します。
- Image.Save() メソッドを使用して画像を生成し、保存します。
次のコード サンプルは、C# でイメージ上に弧を描く方法を示しています。
// BmpOptions の作成
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// BmpOptions のインスタンスのソース プロパティを定義する
bmpCreateOptions.Source = new StreamSource();
// Image のインスタンスを作成し、create メソッドを呼び出します。
// bmpCreateOptions オブジェクト
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Graphics クラスのインスタンスを作成して初期化する
Graphics graphic = new Graphics(image);
// 画像面を白色でクリアに
graphic.Clear(Color.White);
// 赤黒のペンオブジェクトを指定して点弧を描く
// 色と座標、高さ、幅、開始角度と終了角度
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;
// 画面に弧を描く
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);
// すべての変更を保存
image.Save("draw_arc.bmp");
以下は、上記のコード サンプルの出力です。
C# を使用して四角形を描画する
以下は、C# で四角形を描画する手順です。
- まず、BmpOptions クラスのオブジェクトを作成し、BitsPerPixel プロパティを使用してピクセルあたりのビット数を設定します。
- 次に、Source プロパティを使用して StreamSource を割り当てます。
- 新しい画像を作成し、BmpOptions オブジェクトと画像の高さと幅で初期化します。
- Graphics クラスのオブジェクトを作成し、Image オブジェクトで初期化します。
- Graphics.Clear() メソッドを使用して、画像の表面を色でクリアします。
- Graphics.DrawRectangle(Pen, Rectangle) メソッドを使用して長方形を描画します。
- Image.Save() メソッドを使用して画像を生成し、保存します。
次のコード サンプルは、C# でイメージに四角形を描画する方法を示しています。
// BmpOptions の作成
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// BmpOptions のインスタンスのソース プロパティを定義する
bmpCreateOptions.Source = new StreamSource();
// Image のインスタンスを作成し、create メソッドを呼び出します。
// bmpCreateOptions オブジェクト
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Graphics クラスのインスタンスを作成して初期化する
Graphics graphic = new Graphics(image);
// 画像面を白色でクリアに
graphic.Clear(Color.White);
// 赤色の Pen オブジェクトを指定して、点線の長方形を描画します。
// 色と長方形の構造
graphic.DrawRectangle(new Pen(Color.Red, 3),
new Rectangle(60, 40, 70, 120));
// を持つ Pen オブジェクトを指定して、連続した長方形を描画します。
// solid brush with blue 色と長方形の構造
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// すべての変更を保存
image.Save("draw_reactangle.bmp");
以下は、上記のコード サンプルの出力です。
C# .NET Image Drawing API - 無料ライセンスを取得
無料の一時ライセンスを取得し、評価制限なしで図形を描くことができます。
結論
この記事では、C# で図形を描画する方法を学習しました。プログラムで画像に線、楕円、円弧、および長方形を描画する方法について説明しました。提供されているコード サンプルを C# アプリケーションに簡単に統合できます。
続きを読む
ドキュメント を使用して、.NET 画像処理 API について詳しく調べることができます。また、フォーラム を通じて質問を共有することもできます。