void DibujarCentro(int x, int y)
 {
     for (int i = -k; i <= k; i++)
     {
         for (int j = -k; j <= k; j++)
         {
             Grafo.SetPixel(x + i, y + j, Rojo);
             pictureBox1.Image = Grafo;
         }
     }
 }
        List <Point> DDA()
        {
            double       m = ((double)p_f.Y - (double)p_0.Y) / ((double)p_f.X - (double)p_0.X);
            double       b = (double)p_0.Y - (double)m * (double)p_0.X;
            double       y_i, x_i;
            bool         band  = false;
            bool         band2 = false;
            int          inc   = 1;
            Point        Coordenadas;
            List <Point> Linea = new List <Point>();

            Coordenadas = new Point();
            if (Double.IsInfinity(m))
            {
                if (p_0.Y > p_f.Y)
                {
                    inc = -1;
                }
                for (y_i = p_0.Y; (int)y_i != p_f.Y; y_i += inc)
                {
                    x_i        = p_0.X;
                    colorpixel = Picture.GetPixel((int)Math.Round(x_i), (int)y_i);
                    if (colorpixel == Blanco)
                    {
                        band = true;
                    }
                    if (colorpixel != Blanco && band == true)
                    {
                        band2 = true;
                    }
                    if (colorpixel == Blanco && band2 == true)
                    {
                        return(null);
                    }
                }
                for (y_i = p_0.Y; (int)y_i != p_f.Y; y_i += inc)
                {
                    x_i           = p_0.X;
                    Coordenadas.X = (int)x_i;
                    Coordenadas.Y = (int)y_i;
                    Linea.Add(Coordenadas);
                    Grafo.SetPixel(Coordenadas.X, Coordenadas.Y, Color.Black);
                }
                return(Linea);
            }
            if (m <= 1 && m >= -1)
            {
                if (p_0.X > p_f.X)
                {
                    inc = -1;
                }
                for (x_i = p_0.X; (int)x_i != p_f.X; x_i += inc)
                {
                    y_i        = m * x_i + b;
                    colorpixel = Picture.GetPixel((int)x_i, (int)Math.Round(y_i));
                    if (colorpixel == Blanco)
                    {
                        band = true;
                    }
                    if (colorpixel != Blanco && band == true)
                    {
                        band2 = true;
                    }
                    if (colorpixel == Blanco && band2 == true)
                    {
                        return(null);
                    }
                }
                for (x_i = p_0.X; (int)x_i != p_f.X; x_i += inc)
                {
                    y_i           = m * x_i + b;
                    Coordenadas.X = (int)x_i;
                    Coordenadas.Y = (int)Math.Round(y_i);
                    Linea.Add(Coordenadas);
                    Grafo.SetPixel(Coordenadas.X, Coordenadas.Y, Color.Black);
                }
                return(Linea);
            }
            else
            {
                if (p_0.Y > p_f.Y)
                {
                    inc = -1;
                }
                for (y_i = p_0.Y; (int)y_i != p_f.Y; y_i += inc)
                {
                    x_i        = (y_i - b) / m;
                    colorpixel = Picture.GetPixel((int)Math.Round(x_i), (int)y_i);
                    if (colorpixel == Blanco)
                    {
                        band = true;
                    }
                    if (colorpixel != Blanco && band == true)
                    {
                        band2 = true;
                    }
                    if (colorpixel == Blanco && band2 == true)
                    {
                        return(null);
                    }
                }
                for (y_i = p_0.Y; (int)y_i != p_f.Y; y_i += inc)
                {
                    x_i           = (y_i - b) / m;
                    Coordenadas.X = (int)Math.Round(x_i);
                    Coordenadas.Y = (int)y_i;
                    Linea.Add(Coordenadas);
                    Grafo.SetPixel(Coordenadas.X, Coordenadas.Y, Color.Black);
                }
                return(Linea);
            }
        }