グラフィック

VB.netでグラフィックを扱う際に必要となるクラスについてまとめておく

Penクラス

コンストラクタ

  • Pen(Brush) Brush を指定して、Pen クラスの新しいインスタンスを初期化します。
  • Pen(Color) 指定した色を使用して、Pen クラスの新しいインスタンスを初期化します。
  • Pen(Brush, Single) 指定した Brush と Width を使用して、Pen クラスの新しいインスタンスを初期化します。
  • Pen(Color, Single)

なお、Brush型の引数には、Brushクラスの派生クラスも受け取ることが出来ることに注目して下さい。

Brushクラス

Brushクラスは抽象クラスでありインスタンス化はできません。ブラシ オブジェクトを作成するには、SolidBrush、TextureBrush、LinearGradientBrush など、Brushクラスから派生した具象クラスを使用します。

 

PenとBrushの関係

BrushからPenを作ることができる。

Point構造体、PointF構造体

Point(Int32) 整数値で指定された座標を使用して、Point クラスの新しいインスタンスを初期化します。

Point(Size) Size から Point クラスの新しいインスタンスを初期化します。

Point(Int32, Int32) 座標を指定して、Point クラスの新しいインスタンスを初期化します。

2 次元面の 1 点を定義する、順序付けされた整数の X 座標と Y 座標のペアを表します。

2 次元平面に点を定義する浮動小数点座標ペア (x 座標と y 座標) を表します。

Rectanble 構造体

Rectangle(Point, Size) 指定した位置とサイズで、Rectangle クラスの新しいインスタンスを初期化します。

Rectangle(Int32, Int32, Int32, Int32) 指定した位置とサイズで、Rectangle クラスの新しいインスタンスを初期化します。

 

Size構造体

Size(Point) 指定した Point 構造体から Size 構造体の新しいインスタンスを初期化します。

Size(Int32, Int32) 指定された寸法から Size 構造体の新しいインスタンスを初期化します。

 

Point構造体とSize構造体

この2つの構造体は2つの整数値を持つという意味で互換性があります。

コンストラクタの引数とすることで相互変換できます。

 

Regionクラス

GraphicsPath クラス

Draw系メソッド

  • DrawArc メソッド
  • DrawBezier メソッド
  • DrawBeziers メソッド
  • DrawClosedCurve メソッド
  • DrawCurve メソッド
  • DrawEllipse メソッド
  • DrawIcon メソッド
  • DrawIconUnstretched メソッド
  • DrawImage メソッド
  • DrawImageUnscaled メソッド
  • DrawImageUnscaledAndClipped メソッド
  • DrawLine メソッド
  • DrawLines メソッド
  • DrawPath メソッド
  • DrawPie メソッド
  • DrawPolygon メソッド
  • DrawRectangle メソッド
  • DrawRectangles メソッド
  • DrawString メソッド

Fill系メソッド

  • FillClosedCurve メソッド
  • FillEllipse メソッド
  • FillPath メソッド
  • FillPie メソッド
  • FillPolygon メソッド
  • FillRectangle メソッド
  • FillRectangles メソッド
  • FillRegion メソッド

グラフィック系の移植

VB6とVB.netでは、汎用性、柔軟性において格段の違いがあり、もはや別物と考えたほうがよい。
VB6→VB.netの対応を覚えるより、VB.netのグラフィック系をすべて把握した上で、ゼロベースでスクラッチ&ビルドほうが早いと思われる。

Paintメソッドの呼び出し

Update,Refresh,Invalidateどれを使うのが正解か?

http://dobon.net/vb/dotnet/control/refreshupdateinvalidate.html