C#で円、線、正方形などの単純な2Dオブジェクトを描画したいだけです。それ、どうやったら出来るの? Turbo C++時代に戻って、同じことをするためにいくつかのグラフィックライブラリを初期化したことを覚えています。 .NETでも同様のことをする必要がありますか? 3Dオブジェクトでは何か違いがありますか? DirectXのようなものがこれを簡単にしますか?チュートリアルやサンプルへのリンクは大歓迎です。
他の人が言ったように、 System.Drawing をチェックしてください。 (完全を期すために繰り返します。)System.Drawingは GDI + Windows描画ライブラリをアプリケーションに公開します。
System.DrawingとGDI +をすぐに使い始めるのに適したチュートリアルが C#Corner にあります。
注意すべきいくつかの重要な項目:
using
ブロックでラップする必要があります。適切な廃棄規則に従ってください。 GDI +オブジェクトの破棄に失敗すると、アプリに非常に厄介な副作用が発生する可能性があります。 (.NETのGDI +オブジェクトは、基盤となるWindows APIの対応物に対応しています。)以下に、簡単なコードサンプルを示します(pictureBox1という名前のPictureBoxがあるとします)。
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawLine(new Pen(Color.Red), 0, 0, 10, 10);
}
pictureBox1.Image = bmp;
グラフィックスオブジェクトには他の多くの描画メソッドがあり、それらを呼び出す方法をIntellisenseが示します。
GDI、GDI +、System.Drawing名前空間、たとえば here についてお読みください。
DirectXは、単純な形状を描画するために使用するものではなく、複雑な3Dのものをレンダリングします。また、C#でDX Apiを使用するのは少し難しいです(ただしそれほど難しくはありません)。
System.Drawing名前空間を確認してください: http://msdn.Microsoft.com/en-us/library/system.drawing.aspx
System.Drawingを使用したGDI +
System.Drawing名前空間を見てください。
GDI +を使用する必要があります。
それをどのように行うかは、何を描きたいかによります。コントロールやフォームに描画したり、画像オブジェクトに描画したりできます。どちらにしても、System.Drawing.dllにあると私が信じているSystem.Drawing.Graphicsオブジェクトが必要です。
新しいBitmapクラスをインスタンス化してGraphics.FromImage(myImage)を呼び出し、作成したGraphicsオブジェクトのメソッドを使用して描画できます。フォームまたはコントロールに描画する場合は、OnPaintメソッドをオーバーライドして、EventArgsクラスのGraphicsプロパティを探します。
System.Drawing名前空間の詳細については、こちらをご覧ください: http://msdn.Microsoft.com/en-us/library/system.drawing.aspx
.NETでManaged Direct3DグラフィックAPIを探してください Source