Ребят, добрый вечер,вчера писал о помощи в работе алгоритма, разобрался, буквы рисуются... Дело в том что в задании сказано:
Буквы задать координатами концов отрезков, их образующих, в символьных матрицах 50х80 точек.
Буквы отобразить горизонтально, рядом, в центре экрана, через «пробел» (пустая символьная матрица). Для этого использовать процедуру пересчета координат концов отрезков символьных матриц в экранные координаты в зависимости от используемого видеорежима. Цвета отображения букв – разные (любые).
Подскажите, пожалуйста как это можно сделать, что исправить в моем методе:
static public void LukLine(Graphics g, Color clr, int Xd, int Xf, int Yd, int Yf)
{
int Dx, Dy, Cumul;
int Xinc, Yinc, X, Y;
//int col;
int i;
//int Xd = 80; int Yd = 245; int Xf = 200; int Yf = 100;
X = Xd; Y = Yd; //col = 4;
PutPixel(g, clr, X, Y,255); //col);
if (Xd < Xf) Xinc = 1; else Xinc = -1;
if (Yd < Yf) Yinc = 1; else Yinc = -1;
Dx = Math.Abs(Xd - Xf);
Dy = Math.Abs(Yd - Yf);
if (Dx > Dy)
{
Cumul = Dx / 2;
for (i = 0; i < Dx; i++)
{
X = X + Xinc;
Cumul = Cumul + Dy;
if (Cumul >= Dx)
{
Cumul = Cumul - Dx;
Y = Y + Yinc;
}
PutPixel(g, clr, X, Y, 255);
}
}
else
{
Cumul = Dy / 2;
for (i = 0; i < Dy; i++)
{
Y = Y + Yinc;
Cumul = Cumul + Dx;
if (Cumul >= Dy)
{
Cumul = Cumul - Dy;
X = X + Xinc;
}
PutPixel(g, clr, X, Y, 255);
}
}
}
LukLine(g, Color.Black, 0,0,10,500);