Hallo Leute ich möchte auf einem TFT mit Hilfe des bresenhamalgorithmus Linien zeichnen. Habe mal ein Pc-Programm geschrieben,um den Algorithmus zu testen. Klappt einwandfrei. Allerdings zeichnet derAlgorithmus immer nur.Linien mit einern Strichstärke von einem Pixel. Weiß jemand, wie man auf der Basis dieses Algorithmusses eine Funktion schreibt, bei der die Strichstärke variabel ist? Bisher benutze ich folgenden code: (Siehe wikipedia)
1 | void line(int x0, int y0, int x1, int y1) |
2 | { int dx = abs(x1-x0), sx = x0<x1 ? 1 : -1; int dy = -abs(y1-y0), sy = y0<y1 ? 1 : -1; int err = dx+dy, e2; /* error value e_xy */ for(;;){ /* loop */ setPixel(x0,y0); if (x0==x1 && y0==y1) break; e2 = 2*err; if (e2 > dy) { err += dy; x0 += sx; } /* e_xy+e_x > 0 */ if (e2 < dx) { err += dx; y0 += sy; } /* e_xy+e_y < 0 */ } } |