|
Lcd12864, Какие есть идеи...или пишем видеодрайвер... |
|
|
|
 |
Ответов
|
Nov 22 2006, 01:21
|

Участник

Группа: Свой
Сообщений: 72
Регистрация: 27-06-06
Из: Msk
Пользователь №: 18 401

|
Порылся нашел алгоритмы для расования линий и окружностей что такое glcd_put_pixel(x, y, color); думаю понятно  (color != 0 - черная точка) Код /************************************************************************* Рисование 8-связной развертки отрезка методом Брэзенхема
Начало в точке (x1,y1), конец в (x2,y2) *************************************************************************/ void glcd_line(int x1, int y1, int x2, int y2,unsigned char color) { int x; int y; int dx; int dy; int sx; int sy; int z; int e; int i; bit ch;
x = x1; y = y1; dx = abs(x2-x1); dy = abs(y2-y1); sx = sign((double)(x2-x1)); sy = sign((double)(y2-y1)); if( dx==0&&dy==0 ) { glcd_put_pixel(x1, y1, color); return; } if( dy>dx ) { z = dx; dx = dy; dy = z; ch = true; } else { ch = false; } e = 2*dy-dx; i = 1; do { glcd_put_pixel(x, y, color); while(e>=0) { if( ch ) { x += sx; } else { y += sy; } e -= 2*dx; } if( ch ) { y += sy; } else { x += sx; } e += 2*dy; ++i; } while(i<=dx); glcd_put_pixel(x, y, color); }
/************************************************************************* Рисование развертки круга методом Брэзенхема
Центр в точке (xc, yc), радиус r. *************************************************************************/ void glcd_circle(int xc, int yc, int r,char color) { int x; int y; int d;
x = 0; y = r; d = 3-2*r; while(y>=x) { glcd_put_pixel((x+xc), (y+yc), color); glcd_put_pixel((x+xc), (-y+yc), color); glcd_put_pixel((-x+xc), (y+yc), color); glcd_put_pixel((-x+xc), (-y+yc), color); glcd_put_pixel((y+xc), (x+yc), color); glcd_put_pixel((y+xc), (-x+yc), color); glcd_put_pixel((-y+xc), (x+yc), color); glcd_put_pixel((-y+xc), (-x+yc), color); if( d<0 )d += 4*x+6; else{ d += 4*(x-y)+10; --y; } ++x; } }
|
|
|
|
|
Nov 22 2006, 01:30
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(vooon @ Nov 22 2006, 05:21)  Порылся нашел алгоритмы для расования линий и окружностей... Код /************************************************************************* Рисование развертки круга методом Брэзенхема
Центр в точке (xc, yc), радиус r. *************************************************************************/ void glcd_circle(int xc, int yc, int r,char color) { int x; int y; int d;
x = 0; y = r; d = 3-2*r; while(y>=x) { glcd_put_pixel((x+xc), (y+yc), color); glcd_put_pixel((x+xc), (-y+yc), color); glcd_put_pixel((-x+xc), (y+yc), color); glcd_put_pixel((-x+xc), (-y+yc), color); glcd_put_pixel((y+xc), (x+yc), color); glcd_put_pixel((y+xc), (-x+yc), color); glcd_put_pixel((-y+xc), (x+yc), color); glcd_put_pixel((-y+xc), (-x+yc), color); if( d<0 )d += 4*x+6; else{ d += 4*(x-y)+10; --y; } ++x; } } Вот хоть один человек в тему ответил ...Да уж, функция glcd_put_pixel не из быстрых...
--------------------
|
|
|
|
Сообщений в этой теме
zorromen Lcd12864 Nov 21 2006, 19:22 bodja74 Чем то подобным prottos занимался,вроде не бесплат... Nov 21 2006, 19:48 prottoss Цитата(bodja74 @ Nov 21 2006, 23:48) Чем ... Nov 21 2006, 20:26 zorromen у тебя по TWI как я понял.
там есть куча быстрых ... Nov 21 2006, 21:21 prottoss Цитата(zorromen @ Nov 22 2006, 01:21) у т... Nov 21 2006, 21:40 zorromen Про ссылку не знал... а тайминги это для экрана 12... Nov 21 2006, 22:02 prottoss Цитата(zorromen @ Nov 22 2006, 02:02) Про... Nov 21 2006, 22:21 zorromen Панятна...у тебя одна функция на очистку и на инве... Nov 21 2006, 22:32 prottoss Цитата(zorromen @ Nov 22 2006, 02:32) Пан... Nov 21 2006, 22:43 zorromen Небуду искать потому что я сам уже написал и пролн... Nov 21 2006, 23:05 prottoss Цитата(zorromen @ Nov 22 2006, 03:05) Неб... Nov 21 2006, 23:10 bodja74 >>закрашиваемая или очищаемая область помеща... Nov 21 2006, 23:32 prottoss Цитата(bodja74 @ Nov 22 2006, 03:32) ... Nov 21 2006, 23:58  bodja74 Цитата(prottoss @ Nov 21 2006, 23:58) Зна... Nov 22 2006, 00:33   prottoss Цитата(bodja74 @ Nov 22 2006, 04:33) Неа,... Nov 22 2006, 00:51 zorromen Ура...щас проверим...спасибо за кружечки..... Nov 22 2006, 08:17 at90 Вот выкладываю библиотеку GLCD для контроллера ks... Nov 22 2006, 08:26 zorromen Огромное спасибо. это просто супер java script:emo... Nov 22 2006, 08:26 zorromen тоже метод...я использую...
void LCD_DrawLine(unsi... Nov 22 2006, 08:52 zorromen Сколько времени уходит на рисование точки?
Это на ... Nov 22 2006, 19:13 prottoss Цитата(zorromen @ Nov 22 2006, 23:13) А д... Nov 22 2006, 20:14 zorromen Уважаемый prottoss не хачу надоедать...но придется... Nov 22 2006, 22:07 prottoss Цитата(zorromen @ Nov 23 2006, 02:07) Ува... Nov 24 2006, 14:55 zorromen Обрашения но...выполнение одной операции занимает ... Nov 24 2006, 19:22 prottoss Цитата(zorromen @ Nov 24 2006, 23:22) Обр... Nov 24 2006, 20:17 zorromen На твоем сайте я вижу мегу16 ... и что влом собрат... Nov 24 2006, 21:03 bodja74 Молодец ,prottos, давно так не смеялся . :D
А лу... Nov 24 2006, 21:05 zorromen Фронт разворота =100 мсек... вот и выходит не чаще... Nov 24 2006, 21:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|