System.Drawing.Drawing2D 名前空間

高度な 2 次元およびベクター グラフィックス機能を提供します。

クラス

名前 説明
AdjustableArrowCap

調整可能な矢印の形をした線のキャップを表します。 このクラスは継承できません。

Blend

LinearGradientBrush オブジェクトのブレンド パターンを定義します。 このクラスは継承できません。

ColorBlend

多色グラデーションでのカラー ブレンドの補間に使用される色と位置の配列を定義します。 このクラスは継承できません。

CustomLineCap

カスタム ユーザー定義の行キャップをカプセル化します。

GraphicsContainer

グラフィックス コンテナーの内部データを表します。 このクラスは、BeginContainer()メソッドとEndContainer(GraphicsContainer)メソッドを使用してGraphics オブジェクトの状態を保存するときに使用されます。 このクラスは継承できません。

GraphicsPath

接続された一連の線と曲線を表します。 このクラスは継承できません。

GraphicsPathIterator

GraphicsPath内のサブパスを反復処理し、各サブパスに含まれる図形の種類をテストする機能を提供します。 このクラスは継承できません。

GraphicsState

Graphics オブジェクトの状態を表します。 このオブジェクトは、 Save() メソッドの呼び出しによって返されます。 このクラスは継承できません。

HatchBrush

ハッチ スタイル、前景色、背景色を持つ四角形のブラシを定義します。 このクラスは継承できません。

LinearGradientBrush

線形グラデーションを使用して Brush をカプセル化します。 このクラスは継承できません。

Matrix

幾何学的な変換を表す 3 x 3 のアフィン 行列をカプセル化します。 このクラスは継承できません。

PathData

GraphicsPath オブジェクトを構成するグラフィカル データを格納します。 このクラスは継承できません。

PathGradientBrush

Brush オブジェクトの内部をグラデーションで塗りつぶすGraphicsPath オブジェクトをカプセル化します。 このクラスは継承できません。

RegionData

Region オブジェクトを構成するデータをカプセル化します。 このクラスは継承できません。

列挙型

名前 説明
CombineMode

さまざまなクリッピング領域を組み合わせる方法を指定します。

CompositingMode

ソースの色を背景色と組み合わせる方法を指定します。

CompositingQuality

合成中に使用する品質レベルを指定します。

CoordinateSpace

座標を評価するときに使用するシステムを指定します。

DashCap

破線の各ダッシュの両端で使用するグラフィック図形の種類を指定します。

DashStyle

Pen オブジェクトで描画される破線のスタイルを指定します。

FillMode

閉じたパスの内部を塗りつぶす方法を指定します。

FlushIntention

グラフィックス スタック内のコマンドを直ちに終了 (フラッシュ) するか、できるだけ早く実行するかを指定します。

HatchStyle

HatchBrush オブジェクトで使用できるさまざまなパターンを指定します。

InterpolationMode

InterpolationMode 列挙体は、イメージを拡大縮小または回転するときに使用されるアルゴリズムを指定します。

LinearGradientMode

線形グラデーションの方向を指定します。

LineCap

Pen オブジェクトが線を終了できる使用可能なキャップ スタイルを指定します。

LineJoin

GraphicsPath オブジェクトに含まれる図形 (サブパス) 内の連続する線分または曲線セグメントを結合する方法を指定します。

MatrixOrder

行列変換操作の順序を指定します。

PathPointType

GraphicsPath オブジェクト内のポイントの種類を指定します。

PenAlignment

理論上の 0 幅の線に対する Pen オブジェクトの配置を指定します。

PenType

Pen オブジェクトが線を塗りつぶすために使用する塗りつぶしの種類を指定します。

PixelOffsetMode

レンダリング中にピクセルをオフセットする方法を指定します。

QualityMode

GDI+ オブジェクトをレンダリングするときの全体的な品質を指定します。

SmoothingMode

スムージング (アンチエイリアシング) をラインとカーブ、塗りつぶし領域のエッジに適用するかどうかを指定します。

WarpMode

Warp メソッドに適用される反り変換の種類を指定します。

WrapMode

テクスチャまたはグラデーションが塗りつぶされている領域よりも小さい場合にタイル化する方法を指定します。

注釈

Caution

System.Drawing名前空間には、特定のオペレーティング システムとアプリケーションの種類に関するいくつかの制限があります。

  • Windowsでは、System.Drawing は、OS の一部として出荷される GDI+ ネイティブ ライブラリに依存します。 Windows Server Core や Windows Nano など、一部のWindows SKU には、OS の一部としてこのネイティブ ライブラリが含まれていません。 この名前空間を使用し、ライブラリを読み込めなかった場合は、実行時に例外がスローされます。

  • System.Drawing 名前空間の一部の型は、GDI+ に依存します。これは、Windows サービスおよび ASP.NET Coreおよび ASP.NET アプリではサポートされていません。 これらの型は System.Drawing.Common NuGet パッケージにあり、 System.Drawing.BitmapSystem.Drawing.Fontが含まれます。 ただし、名前空間内のプリミティブ型 ( System.Drawing.ColorSystem.Drawing.SizeSystem.Drawing.PointSystem.Drawing.Rectangleなど) は、任意のアプリケーションで使用できます。

  • .NET 5 以前のバージョンでは、System.Drawing.Common NuGet パッケージは、Windows、Linux、および macOS で動作します。 ただし、プラットフォームの違いがいくつかあります。 Linux および macOS では、GDI+ 機能は libgdiplus) ライブラリによって実装されます。 このライブラリは、ほとんどの Linux ディストリビューションでは既定ではインストールされず、Windowsおよび macOS 上の GDI+ のすべての機能をサポートしているわけではありません。 libgdiplus がまったく利用できないプラットフォームもあります。 Linux および macOS で System.Drawing.Common パッケージの型を使用するには、libgdiplus を個別にインストールする必要があります。 詳細については、「Install .NET on Linux または Install .NET on macOS を参照してください。

  • .NET 6 以降のバージョンでは、System.Drawing.Common NuGet パッケージは、Windows オペレーティング システムでのみサポートされます。 詳細については、「System.Drawing.Common が Windows でしかサポートされない」を参照してください。

アプリケーションで System.Drawing を使用できない場合は、 推奨される代替手段としては、ImageSharpSkiaSharpWindowsイメージング コンポーネント、および Microsoft があります。Maui.Graphics.

次の表に、 System.Drawing.Drawing2D 名前空間の重要なクラスと列挙の一部をカテゴリにグループ化して示します。

クラス カテゴリ 詳細情報
- グラフィックスとグラフィックスのパス GraphicsStateクラスとGraphicsContainer クラスは、現在のGraphics オブジェクトに関する情報を報告します。 GraphicsPath クラスは、一連の線と曲線を表します。 GraphicsPathIteratorクラスとPathData クラスは、GraphicsPath オブジェクトの内容に関する詳細情報を提供します。
- マトリックスと変換に関連する型 Matrix クラスは、ジオメトリック変換の行列を表します。 MatrixOrder列挙体は、行列変換の順序を指定します。
- Brush クラス PathGradientBrushクラスとHatchBrush クラスを使用すると、それぞれグラデーションパターンまたはハッチング パターンで図形を塗りつぶします。
- 行に関連する列挙 LineCap列挙体とCustomLineCap列挙体を使用すると、線のキャップ スタイルを指定できます。 LineJoin列挙型を使用すると、パスで 2 行を結合する方法を指定できます。 PenAlignment列挙を使用すると、線を描画するときに、描画ヒントの配置を指定できます。 PenType列挙体は、行を塗りつぶすパターンを指定します。
- 図形とパスの塗りつぶしに関連する列挙体 HatchStyle列挙体は、HatchBrushの塗りつぶしスタイルを指定します。 Blend クラスは、LinearGradientBrushのブレンド パターンを指定します。 FillMode列挙体は、GraphicsPathの塗りつぶしのスタイルを指定します。

Caution

System.Drawing.Drawing2D 名前空間のクラスは、Windowsまたは ASP.NET サービスでの使用はサポートされていません。 これらのアプリケーションの種類のいずれかでこれらのクラスを使用しようとすると、サービスパフォーマンスの低下や実行時の例外など、予期しない問題が発生する可能性があります。

こちらもご覧ください