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

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

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

> Воспроизведения рисунка
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17

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


Кто нибудь поможет с такой задачей

Написать программу для воспроизведения рисунка, записанного в специальном формате в файле с расширением “vec”. Рисунок поместить в центр экрана. Под рисунком вывести имя файла, включая путь.
Графическое изображение представляет собой набор графических примитивов: точек, отрезков, прямоугольников и эллипсов различных цветов. Прямоугольники и эллипсы могут иметь заливку. Изображение имеет 16 цветов (коды цветов 0-15).
Файл содержит записи, каждая из которых состоит из фиксированного набора полей, описывающих графический примитив. Все координаты указываются в пикселях относительно левого верхнего угла изображения, имеющего координаты (0,0). Оси направлены: 0X - вправо, 0Y - вниз. Графические примитивы отображаются относительно текущей позиции курсора, которая может быть изменена специальной командой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 17

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


Формат записи:
1. Поле Operation типа Byte. Содержит код операции в соответствии с Табл.1.
2. Поле X типа Integer. Содержит значение координаты по оси X.
3. Поле Y типа Integer. Содержит значение координаты по оси Y.
4. Поле Color типа Byte. Поле содержит цвет графического примитива. Это битовое поле, т.е. в нем имеют значение отдельные биты и группы битов. Обычно биты нумеруются с нуля (младший бит). Бит считается установленным, если содержит 1, и сброшенным (не установленным), если содержит 0. Для выделения нужной группы битов используют битовые маски и операцию логического умножения AND, а также операции логического сдвига вправо (SHR) и влево (SHL).


Таблица 1. Содержимое поля Operation.
Код операции
0

1

2
3

4

5

6


Вид операции
Запись содержит указание размера рисунка в пикселях (в полях X и Y). Если 7 бит поля Color установлен, то рисунок имеет заливку фона, код цвета которого указан в битах 0-3.
Указание позиции курсора (X,Y) относительно левого верхнего угла рисунка. Поле Color не несет полезной информации.
Рисование пикселя в позиции (X,Y). Цвет пикселя задан в младших 4-х битах (0-3) поля Color.
Рисование отрезка из текущей позиции курсора в точку (X,Y). Цвет задан в битах 0-3 поля Color. Позиция курсора изменяется на (X,Y).
Рисование прямоугольника, два диагональных угла которого заданы текущей позицией курсора и точкой (X,Y). Цвет задан в битах (0-3) поля Color. Признак заливки - бит 7 установлен в 1.
Рисование эллипса с центром в текущей позиции курсора, и радиусами, заданными в полях X и Y. Цвет задан в битах (0-3) поля Color. Признак заливки - бит 7 установлен в 1.
Заливка области, ограниченной контуром, начиная с точки (X,Y). Цвет контура задан в битах 0-3, а цвет заливки - в битах 4-7 поля Color.

Примечания:
1. Запись с кодом 0 является первой и единственной в файле.
2. Позиция курсора изменяется на (X,Y) только в операциях с кодами 1 и
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
plafon   Воспроизведения рисунка   17.05.2004 15:26
BlackShadow   По-подробнее о записи с фиксированным набором поле…   17.05.2004 16:07
plafon   Формат записи: 1. Поле Operation типа Byte. Содерж…   17.05.2004 17:23
BlackShadow   Бред-бредом. Пишу без компилятора и по памяти, так…   17.05.2004 18:14
plafon   Пацаны посмотрите а то чё то не получается а завт…   26.05.2004 4:01
Dark   Uses Graph,Crt; Type TRec=Record   Code…   26.05.2004 7:22
plafon   Dark зачем же повторять за BlackShadow ведь я же г…   31.05.2004 23:14
Altair   А что конкретно не получается? Я не стал проверять…   31.05.2004 23:41
plafon   Всё нормально но после всего пишется File not foun…   1.06.2004 3:26
plafon   Как прикрепить файл с расширением vec чтобы провер…   1.06.2004 3:33
plafon   Извиняюсь там было написано File not open :rolley…   1.06.2004 3:44
Dark   Я просто исправил мелкие баги... хм...   1.06.2004 6:30
Altair   Тогда открой его, и дело с концом.   1.06.2004 10:31
plafon   Непонял как его открыть?   1.06.2004 13:26
BlackShadow   Убедись, что не посеял строку Reset(f) После Assig…   1.06.2004 15:22
plafon   Проверил всё на месте   1.06.2004 15:44
BlackShadow   Странно... Перепроверю потом.   1.06.2004 16:20
Altair   Действительно странный глюк. Надо попробовать выре…   1.06.2004 21:09
plafon   Пацаны я вас умоляю помогите срочняк нужно а?   2.06.2004 1:46
Altair   ОК, присоедини тестовый файл vec , а то самому не …   2.06.2004 10:44
Любимая   Люди помогите плииииз. Нужно составить рисунок в п…   29.11.2004 16:58
volvo   Любимая 1. Зачем поднимать старые темы? Нельзя соз…   29.11.2004 18:24
Любимая :nono:   уж простите "чайника" за такую ошибочку,…   29.11.2004 19:08
GoodWind   почему не на наш ? на наш !!! :yes: …   29.11.2004 19:13
Guest   просто я всю жизнь в бейсике проработала, а тут ср…   29.11.2004 22:30
GoodWind   оффтоп: а чё так сразу ? :blink: какой примити…   29.11.2004 22:55


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

 





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