18

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' は現在のコンテキストに存在しません」というエラーが表示されます。

4

2 に答える 2

30

「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);
    }
}

オブジェクトが再描画されると、「ペイント」イベントが発生します。詳細については、次を参照してください。

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.paint.aspx

于 2012-07-09T21:16:12.800 に答える
6

次のようにGraphicsオブジェクトを取得する必要があります。Image

using(var graphics = Graphics.FromImage(bmp))
{
   graphics.DrawLine(...)
}
于 2012-07-09T20:59:17.260 に答える