algoritmo de bresenham em c codigo
void drawLine(Pixel inicial, Pixel final){
int xi = inicial.x;
int xf = final.x;
int yi = inicial.y;
int yf = final.y;
int dx = abs(xf - xi);
int dy = abs(yf - yi);
int controle = 0; //Controla se a direção menor vai crescer ou nao;
int incX = 0;
int incY = 0;
//Define se Y e X estão indo nas direções positivas ou negativas
if(xf > xi) incX = 1;
else incX = -1;
if(yf > yi) incY = 1;
else incY = -1;
putPixel(inicial);
Pixel linha = {inicial.x, inicial.y, inicial.red, inicial.green, inicial.blue, inicial.alpha}; //Esse pixel é o que se moverá e pintará a linha