Dlaczego setpixel rysuje punkty zamiast linii ciągłej?

0

Nie rozumiem dlaczego metoda setpixel rysuje mi linię w taki sposób, że widać tylko małe kropki. Coś z algorem nie tak?

 
private void rysuj_wykres_Click(object sender, EventArgs e)
        {
            int wspolczynnik_kierunkowy;
            wspolczynnik_kierunkowy = Convert.ToInt32(wspolczynnik_a.Text);

            argumenty_wykresu = plotno.Width/2;
            wartosci_wykresu = plotno.Height;
            
            for (argumenty_wykresu = 1; (argumenty_wykresu < plotno.Width && wartosci_wykresu>1);argumenty_wykresu++)
            {
                bitmapa_pod_wykres.SetPixel(argumenty_wykresu,wartosci_wykresu, Color.Red);
                wartosci_wykresu = wartosci_wykresu - wspolczynnik_kierunkowy * argumenty_wykresu;
            }
            plotno.Image = bitmapa_pod_wykres;
        }

Jeśli czegoś brakuje, to powiedzcie. Choć wydawało mi się,że zapodałem tę część kodu, która jest najistotniejsza.

1

A czego się spodziewasz?

argumenty_wykresu wartosci_wykresu
1 250
2 249
3 247
4 244
5 240
6 235
7 229
8 222
9 214
10 205
11 195
12 184
13 172
14 159
15 145
16 130
17 114
18 97
19 79
20 60
21 40
22 19

To są wartości dla wspolczynnik_kierunkowy = 1. Każesz pomalować konkretne pixele na konkretny kolor. Nie malujesz lini lub krzywych.
Jeśli chcesz uzyskać ciągłość popatrz i pobaw się tym:

System.Drawing.Graphis
Pen mypen = new Pen(Brushes.Black);
g.DrawBezier(mypen, 0, 0, 200, 200);
 
0

Miło z waszej strony, ale wydawało mi się, że można to zrobić setpixelem? Rzeczywiście jednak, gdy dekrementuję wartość y, to linia jest ciągła, ale gdy robie to jakimś dzikim algorem, to są kropki. Tak właśnie coś czułem, że to o to chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1