m=0;
n=0;
while (1)
{
while (readLCD(m,n)==0)// пока 0 - сканирую экран
{
if (m==40)// если дошел до конца строки (40 байт)- перехожу на след.
{m=0;n++;}
if (m==40&&n==128)
{m=0;n=0;}
m++;
}
reading=readLCD(m,n);
if (reading==0x20||reading==0x10||reading==0x80||reading==0x40||reading==0x20||reading==0x10)// возможные варианты подсвеченного бита
{lim1=m; m++;
while (readLCD(m,n)==0){m++;}
lim2=m;
straight_line((float)lim1,(float)lim2,(float)n,(float)n);
}
else m=0;
n++;
}
}
Закрашивание области неопределенной формы
1. Построчно сканирую экран
2. При нахождении уже подсвеченной точки этот адрес (x) заношу в переменную lim1
3. Иду далее от этой же точки, когда встречаю следующий подсвеченный бит- заношу этот адрес во вторую переменную lim2
4. Соединяю эти две точки отрезком и перехожу на следующую строку
Информация считывается побайтно (6 точек в байте).
Код:
Подскажите, в чем ошибка?:) (в качестве закрашиваемой области пока использую квадрат)
Не придумывайте велосипед, почитайте про графические алгоритмы закрашивания.