C# の drawline メソッドを使用してメソッドに渡される bmp 画像に線を描画したい
public void DrawLineInt(Bitmap bmp)
{
Pen blackPen = new Pen(Color.Black, 3);
int x1 = 100;
int y1 = 100;
int x2 = 500;
int y2 = 100;
// Draw line to screen.
e.Graphics.DrawLine(blackPen, x1, y1, x2, y2);
}
これはエラーになります。したがって、ここにペイント イベントを含める方法を知りたいです (PaintEventArgs e)
また、drawmethodを呼び出すときにパラメータを渡す方法を知りたいですか?例
DrawLineInt(Bitmap bmp);
これにより、次のエラーが発生します。「名前 'e' は現在のコンテキストに存在しません」
ベストアンサー1
「C# の drawline メソッドを使用して、メソッドに渡される bmp 画像に線を描画します」
PaintEventArgs e は、オブジェクトの「ペイント」イベント中にこれを実行することを示唆しています。メソッド内でこれを呼び出しているため、どこにも PaintEventArgs e を追加する必要はありません。
メソッド内でこれを実行するには、@BFree の回答を使用します。
public void DrawLineInt(Bitmap bmp)
{
Pen blackPen = new Pen(Color.Black, 3);
int x1 = 100;
int y1 = 100;
int x2 = 500;
int y2 = 100;
// Draw line to screen.
using(var graphics = Graphics.FromImage(bmp))
{
graphics.DrawLine(blackPen, x1, y1, x2, y2);
}
}
オブジェクトが再描画されると、「Paint」イベントが発生します。詳細については、以下を参照してください。
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.paint.aspx