画像に線を引くにはどうすればいいですか?質問する

画像に線を引くにはどうすればいいですか?質問する

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

おすすめ記事