[英]how to draw a line on a image?
我想在bmp圖像上繪制一條線,該線在C#中使用drawline方法傳遞給方法
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);
}
這給了一個錯誤。所以我想知道如何在這里包含paint事件(PaintEventArgs e)
並且還想知道在調用drawmethod時如何傳遞參數? 例
DrawLineInt(Bitmap bmp);
這會產生以下錯誤“當前上下文中不存在名稱'e'”
“在bmp圖像上繪制一條線,使用C#中的drawline方法傳遞給方法”
PaintEventArgs e會建議您在對象的“paint”事件中執行此操作。 因為你在一個方法中調用它,所以不需要在任何地方添加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
您需要從Image
獲取Graphics
對象,如下所示:
using(var graphics = Graphics.FromImage(bmp))
{
graphics.DrawLine(...)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.