2012-07-09 25 views
10

chcę, aby narysować linię na obrazie bmp, który jest przekazać do metody z użyciem drawline metody w C#jak narysować linię na obrazie?

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

to dać error.So chcę wiedzieć jak to zdarzenie farby tutaj (PaintEventArgs e)

, a także chcesz wiedzieć, jak przekazywać parametry podczas wywoływania metody drawmethod? przykład

DrawLineInt(Bitmap bmp); 

to daje następujący błąd „Nazwa«e»nie istnieje w bieżącym kontekście”

+1

"to daje błąd". Jaki błąd? – Oded

Odpowiedz

16

"Narysuj linię na obrazie bmp, który przechodzi do metody, używając metody rysowania w języku C#"

Program PaintEventArgs e zasugerowałby, że robisz to podczas zdarzenia "maluj" dla obiektu. Ponieważ wywołujesz to w metodzie, nie musisz dodawać PaintEventArgs e w dowolnym miejscu.

Aby zrobić to za pomocą metody, użyj odpowiedzi @ 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); 
    } 
} 

Zdarzenie "Paint" jest wywoływane, gdy obiekt jest przerysowywany. Aby uzyskać więcej informacji, zobacz:

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

+2

Powinieneś również wyrzucić pióro, gdy skończysz. Lub umieść go wewnątrz bloku 'using (var blackPen = new Pen (Color.Black, 3))'. –

5

trzeba uzyskać obiekt Graphics od Image tak:

using(var graphics = Graphics.FromImage(bmp)) 
{ 
    graphics.DrawLine(...) 
} 
+0

Czy muszę dodać PaintEventArgs e w dowolnym miejscu kodu? – user1150071

+0

@ user1150071 "Czy muszę dodać PaintEventArgs e w dowolnym miejscu kodu?" krótka odpowiedź, nie. Długa odpowiedź, zobacz mój post poniżej. – Tom

Powiązane problemy