Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графика на Паскале 
:(
    Опции темы
Irin
Дата 12.11.2006, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



     Помогите пожалуйста! Ответьте на следующие вопросы:

     Можно ли загрузить в Паскале цвета, кроме стандартных(например, использая коды RGB) если да, то как? Можно ли сделать градиентную заливку, и вставить картинки формата JPG(или Gif)?
И можно ли работать одновременно и в графическом, и в текстовом режиме (Т.е. чтобы была красивая заставка с картинкой, пользователь нажимал на кнопки, и ему здесь же рисовался бы график)? 

Заранее благодарна, с уважением, Irin.
PM MAIL   Вверх
Alexeis
Дата 12.11.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Цитата(Irin @  12.11.2006,  21:53 Найти цитируемый пост)
Можно ли загрузить в Паскале цвета, кроме стандартных(например, использая коды RGB) если да, то как? 

Можно, но при нормальном графическом драйвере  smile . 
Цитата(Irin @  12.11.2006,  21:53 Найти цитируемый пост)
Можно ли сделать градиентную заливку, и вставить картинки формата JPG(или Gif)?

Можно, если выполнить первое условие и найти необходимые декодеры для паскаля.

Цитата(Irin @  12.11.2006,  21:53 Найти цитируемый пост)
И можно ли работать одновременно и в графическом, и в текстовом режиме (Т.е. чтобы была красивая заставка с картинкой, пользователь нажимал на кнопки, и ему здесь же рисовался бы график)? 


А вот с этим уже никак. Либо то либо другое. 

Вся эта красота требует больших усилий. Это и многое другое проще всего делать под Windows на Delphi. Дос уже практически никем не поддерживается, а потому весьма неудобен как платформа для построения красивых и функциональных программ.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Irin
Дата 12.11.2006, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



Большое спасибо! Только где найти эти декодеры? И как их установить?
PM MAIL   Вверх
Irin
Дата 13.11.2006, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



Да, обидно...  

И еще вопрос про символьные массивы:
Если в задании сказано, что дан массив из литер, ограниченный точкой, то как его считывать? Если через цикл While, то как описывать тип массива? 

PM MAIL   Вверх
Alexeis
Дата 13.11.2006, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Цитата(Irin @  12.11.2006,  22:55 Найти цитируемый пост)
Только где найти эти декодеры? И как их установить?

А что уже удалось установить режим True Color под дос? Я встречал драйвера VESA, но при попытке установить что-то чуть более менее серьезное чем 640х480х4 выводит частоту моего монитора ниже всяких границ и он просто вырубается. А для JPEG глубина 24бита на пиксель обязательна иначе это будет не Jpeg а какой-то кошмар  smile . От стандартного видеоадаптера можно добиться 320х240х8, что достаточно для GIF, но при таком разрешении никаких графиков не нарисуешь. Тут каждый пиксель не пиксель а квадрат  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
AlexST
Дата 13.11.2006, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 30.4.2006
Где: Москва

Репутация: нет
Всего: 3



Цитата(alexeis1 @  12.11.2006,  22:09 Найти цитируемый пост)
Цитата(Irin @  12.11.2006,  21:53 Найти цитируемый пост)
можно ли работать одновременно и в графическом, и в текстовом режиме (Т.е. чтобы была красивая заставка с картинкой, пользователь нажимал на кнопки, и ему здесь же рисовался бы график)?

А вот с этим уже никак. Либо то либо другое. 
Операторы текстового режима в графическом работают. Но это из сферы приколов. Хотя юзать можно. Ваще конечно текст выводится в графическом режиме спокойно и без приёмов текстового. 

Цитата(Irin @  13.11.2006,  00:51 Найти цитируемый пост)
ограниченный точкой
Поясни это.

Цитата(Irin @  13.11.2006,  00:51 Найти цитируемый пост)
как описывать тип массива
Ну символьный, наверно.  smile 


Это сообщение отредактировал(а) AlexST - 13.11.2006, 14:05
PM MAIL ICQ   Вверх
Irin
Дата 13.11.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



Ну задание такое: Дан текст из цифр, за которыми следует точка. Нужно напечатать его в обратном порядке и указать наиболее часто встречающююся цифру. Мне не совсем понятно, как задавать тип этого массива. Сначала я думала задать его как тип диапазон от символьного от "1" до "9", но так он почему-то работает неправильно. А если задавать просто символьный тип, то проверять после каждого введенного символа цифра он или нет, по-моему не рационально.
   И насчет точки. Если я правильно поняла, имеется в виду, что длина произвольная, и зависит от точки. Но как тогда задавать длину массива, если она заранее не определена? А если считать, что длина определена, то причем тут точка?



PM MAIL   Вверх
Alexeis
Дата 13.11.2006, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Цитата(AlexST @  13.11.2006,  01:04 Найти цитируемый пост)
Операторы текстового режима в графическом работают. Но это из сферы приколов. Хотя юзать можно. Ваще конечно текст выводится в графическом режиме спокойно и без приёмов текстового. 


Они выполняются (Write, Writeln), но текст не выводят. Текст выводит уже другая графическая функция OutTextXY(); но это вывод текста в графическом режиме, а не совмещение графического и текстового.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
AlexST
Дата 13.11.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 30.4.2006
Где: Москва

Репутация: нет
Всего: 3



Цитата(alexeis1 @  13.11.2006,  01:27 Найти цитируемый пост)
Они выполняются (Write, Writeln), но текст не выводят.
Пардон. Извиняюсь. Немного не точно выразился. ))))) Операторы ввода (Read, Readln) работают с эхом. Вывода конечно ничего не печатают.  smile Это удобно потому, что не надо реализовывать графический ввод, хотя немного коряво.

Цитата(alexeis1 @  13.11.2006,  01:27 Найти цитируемый пост)
это вывод текста в графическом режиме, а не совмещение графического и текстового.
Конечно.

Цитата(Irin @  13.11.2006,  01:19 Найти цитируемый пост)
Сначала я думала задать его как тип диапазон от символьного от "1" до "9", но так он почему-то работает неправильно. А если задавать просто символьный тип, то проверять после каждого введенного символа цифра он или нет, по-моему не рационально.
Влюбом случае надо проверять введённое число. То, что ты задашь значения массива через диапазон ничего тебе не даст. Рационально как раз второе.  smile 

Цитата(Irin @  13.11.2006,  01:19 Найти цитируемый пост)
Но как тогда задавать длину массива, если она заранее не определена? А если считать, что длина определена, то причем тут точка?
 Естесственно это должен быть динамический массив. Хотя здесь главное показать реализацию алгоритма, а не работу с памятью. Для лабы сойдёт тупо задать константную длину строки и работать с ней.

PM MAIL ICQ   Вверх
Irin
Дата 13.11.2006, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 12.11.2006

Репутация: нет
Всего: нет



    Большое спасибо, вы мне очень помогли. 
И еще вопрос: где можно найти F_Mouse.TPU? В своих папках не нашла. 
PM MAIL   Вверх
Alexeis
Дата 13.11.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Irin, Это нестандартный модуль. Вообще стандартных модулей для мышки я не встречал, а вот нестандартных пруд пруди. Лично я пользовался модулем мышки из книги Фаронова часть 2. Но в инете полно любых других. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Nicholas_S
Дата 14.11.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Irin, могу помочь кое-чем, например, установкой режима от 640x480 до 1024x768 в 65535 цветах. Есть пример готовый с выводом фракталов. Насчет форматов аля JPG, к сожалению, не помогу, не приходилось писать собственноручно.


--------------------
...все в мире относительно
PM   Вверх
Alexeis
Дата 14.11.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Nicholas_S, Давай выкладывай, мне тоже интересно  smile .



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Nicholas_S
Дата 14.11.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



alexeis1, обязательно выложу, как доберусь  smile . Суть будет в использовании режима VESA. Возможно, будут некоторые проблемы при обратном переходе из этого режима в Windows (на некоторых видео-карточках), но, в принципе, решаемо.


--------------------
...все в мире относительно
PM   Вверх
Nicholas_S
Дата 14.11.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



См. аттачмент.
Файл "coregrph.pas", собственно, есть сам "движок". Позволяет установить 4 режима VESA: 320x240, 640x480, 800x600, 1024x768. Глубина цвета: 65535 цветов, т.е. 16 бит. В модуле есть доп. функции, половина самописные, половина нет. Некоторые, как то окраска пикселей и смешивание цветов, на asm'е. Остальные обычный код.
  Файл "main.pas" - маленький костяк.
  Есть рабочий пример, реализующий рисование фракталов (Жулиа, Мандельброт), "fractals.exe". Вирей нет, код не вредоносный, но страдающим паранойей лучше сразу удалить smile Исходники к exe'шнику не прикладываю, во всяком случае пока, потому как код достаточно большой и находится в нескольких модулях.

Забыл. Irin, есть также самописные модули, которые с пом. которых можно работать с текстом в графическом режиме, т.е. вывод своих знаков, чисел (также верхнего регистра, напр.). Код довольно простой, так что если потребуется - свисти. Может работать как с обычным graph.tpu, так и с vesa, т.е. функции вывода одни и те же.

Это сообщение отредактировал(а) Nicholas_S - 14.11.2006, 18:19

Присоединённый файл ( Кол-во скачиваний: 30 )
Присоединённый файл  tp_graphmode.ZIP 25,06 Kb


--------------------
...все в мире относительно
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.