Здравствуйте bond, Вы писали:
B>Привет All. B>Вообще-то из темы понятно. B>Не могу организовать рисование фигур B>на сетке(как в графическом редакторе ресурсов VC++ ).Хотя бы линию ...
Так а в чем проблема? неужели алгоритм рисования линии не можешь найти?
Всегда Ваш, PSP.
Re: Рисование линий на сетке(как в редакторе ресурсов)
Ты имеешь в виду ax+bx+c=0?
Понимаешь в чем дело,мне нужно рисовать на сетке(читай — массиве)
т.е мужно получить координаты всех точек линии(фигур) и занести
их в массив,а также нарисовать эту линию на квадратах экрана.
Я имею две точки(или квадрата) start(x1,y1) и end(x2,y2)
Вся проблема в том ,что пикселы я задаю в integer,
а при исползовании ax+by+c=0 я получаю float так как
масштаб экрана по OX и OY разные.
Попробуй нарисовать простую линию на экране без LineTo(),
т.е. получи при помощи формулы x и y точек ,и рисуй через SetPixel()-
сразу станет понятно.Чтоб тебе было легче:
a= end.y -start.y;
b= start.x-end.x;
c= start.y*(end.x-start.x)-
start.x*(end.y-start.y);
В принципе я решил проблему через StrechBlt(),думаю можно также решить
через SetMapMode(MM_ANISOTROPIC),но второй метод у меня не получился.
Re[2]: Рисование линий на сетке(как в редакторе ресурсов)
Здравствуйте bond, Вы писали:
B>Здравствуйте bond, Вы писали:
B>Ты имеешь в виду ax+bx+c=0? B>Понимаешь в чем дело,мне нужно рисовать на сетке(читай — массиве) B>т.е мужно получить координаты всех точек линии(фигур) и занести B>их в массив,а также нарисовать эту линию на квадратах экрана. B>Я имею две точки(или квадрата) start(x1,y1) и end(x2,y2) B>Вся проблема в том ,что пикселы я задаю в integer, B>а при исползовании ax+by+c=0 я получаю float так как B>масштаб экрана по OX и OY разные. B>Попробуй нарисовать простую линию на экране без LineTo(), B>т.е. получи при помощи формулы x и y точек ,и рисуй через SetPixel()- B> сразу станет понятно.Чтоб тебе было легче: B> a= end.y -start.y; B> b= start.x-end.x; B> c= start.y*(end.x-start.x)- B> start.x*(end.y-start.y); B>В принципе я решил проблему через StrechBlt(),думаю можно также решить B>через SetMapMode(MM_ANISOTROPIC),но второй метод у меня не получился.
Голь на выдумку хитра, скажу я вам, господа! Можно поиздеваться так вот: рисувать по контексту в памяти, контекст сразу же отображать в картинку которая имеет реальный размер и... Правильно, правильно! Увеличить в n раз и наложить сеточку! А то потом еще и окружности захочется рисовать, и заливочку...