IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Рисование прямой и пр.
сообщение
Сообщение #1


Гость






Вот, решил написать простенький модуль для работы с графикой, но не могу написать процедуры рисования прямой и окружности.
Подскажите, если не сложно.

Код

Unit graphix;
{$G+}

interface
 procedure Init;
 procedure DeInit;
 procedure Wait;
 procedure FillScreen(col:byte);
 procedure PutPixel(x,y:word;col:byte);
 procedure Box(x1,y1,x2,y2:word;col:byte);
implementation

procedure Init; assembler;
 asm
   mov  ax,13h
   int  10h
 end;

procedure DeInit; assembler;
 asm
   mov  ax,3h
   int  10h
 end;

procedure Wait; assembler;
 asm
   xor  ax,ax
   int  16h
 end;

procedure FillScreen(col:byte); assembler;
 asm
   pusha
   mov  ax,0A000h
   mov  es,ax
   xor  di,di
   mov  al,[col]
   mov  cx,64000
   cld
   rep  stosb
   popa
 end;

procedure PutPixel(x,y:word;col:byte);
 begin
   y := y * 320;
   asm
     pusha
     mov  ax,0A000h
     mov  es,ax
     mov  ax,[y]
     mov  di,ax
     add  di,[x]
     mov  al,[col]
     cld
     stosb
     popa
   end;
 end;

procedure Box(x1,y1,x2,y2:word;col:byte);
 var
   i,j:integer;
 begin
   for i := x1 to x2 do
     for j := y1 to y2 do
       PutPixel(i,j,col);
 end;

begin
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


А алгоритмы на что?
рисование окружности:
1
2


рисование линии
там и ассемблер и паскаль

=== ===
у GoodWind'a есть огромный модуль (около 40 КБ текста на ассемблере) для работы с 13h графическим режимом.... советую не мучаться и попросить его выложить сюда...

Сообщение отредактировано: Oleg_Z -


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Смотри здесь... Скачай там файл, все очень хорошо описано...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 20:12
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name