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

> Проблема с графикой в tmt pascal, SVGA В TMT
Арсений
сообщение 29.12.2007 2:30
Сообщение #1


Новичок
*

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

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


Здравствуйте. У меня проблема:в графическом режиме происходит откровенно говоря чёрти что. При загрузке svga256.bgi нормально рисуется круг, при попытке вывести bmp(модуль взят с этого сайта) на дисплее какие то цветные точки, при установке графического режима функцией setsvgamode и попытке изобразить круг: сначала круг, затем точки. Для уточнения: у меня монитор wxga, карта nvidia geforce. Пожалуйста, укажите поблему и способ её устранения. Заранее благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 29.12.2007 19:12
Сообщение #2


Гость






Andriano, по поводу драйвров ты не прав. А именно я вместо функции setsvgamode поставил загрузку драйвера. Всё пошло: задержав программу с помощью readln наконец то вывел bmp изображение. Остается один вопрос как подобрать разрешение в setsvgamode чтобы она нормально пахала? P.S. Добавляю файлы о которых шла речь.
 К началу страницы 
+ Ответить 
andriano
сообщение 29.12.2007 20:24
Сообщение #3


Гуру
*****

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

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


Цитата(Гость @ 29.12.2007 19:12) *
Andriano, по поводу драйвров ты не прав.
smile.gif
Цитата
А именно я вместо функции setsvgamode поставил загрузку драйвера. Всё пошло: задержав программу с помощью readln наконец то вывел bmp изображение.
А теперь убери куда нибудь эти "драйвера" так, чтобы к ним даже пути провешены не были, и запусти программу снова.
Что теперь?
И как это можно объяснить?
Цитата
Остается один вопрос как подобрать разрешение в setsvgamode чтобы она нормально пахала? P.S. Добавляю файлы о которых шла речь.
Очевидно, только одним путем: эти видеомоды должен поддерживать VideoBIOS.
Попытайся воспользоваться следующей процедурой, а также теми, на которые еще ссылается справка:
Цитата
Sets the system to graphics mode and clears the screen.

Declaration:
procedure SetGraphMode(Mode: Word);

Remarks:
Mode must be a valid mode for the current video adapter. This procedure supports all VESA VBE graphic modes (100h - FFFh), which are supported by video adapter.

Example:
SetGraphMode($101) // set SVGA 256-colored mode 640x480;
SetGraphMode($114) // set SVGA 64K-colored mode 800x600;

SetGraphMode($12A) // set SVGA 16M+A-colored mode 1024x768;

Keep in mind what your video card may not support all these modes. See GetVbeModesList and TotalVbeModes.

Например, так:
uses graph;
var
i : integer;
ModesList : ^array[0..0] of GraphModeType;
begin
writeln('TotalVbeModes:',TotalVbeModes);
getmem(ModesList,TotalVbeModes*sizeof(GraphModeType));
GetVbeModesList(ModesList^);
for i := 0 to TotalVbeModes-1 do
with ModesList^[i] do
writeln(i:2,' Mode:', VideoMode:3,' BPP:',BitsPerPixel:2,' Size: ', XResolution,' x ', YResolution);
freemem(ModesList,TotalVbeModes*sizeof(GraphModeType));
end.


Сообщение отредактировано: andriano - 29.12.2007 20:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Арсений   Проблема с графикой в tmt pascal   29.12.2007 2:30
Ozzя   :blink: Зачем для ТМТ загружать драйвер svg...   29.12.2007 8:45
andriano   Пожалуйста, укажите поблему и способ её устранения...   29.12.2007 12:39
Арсений   За ссылку спасибо. При использовании прцедуры SetS...   29.12.2007 15:51
andriano   Ты пишешь о том, что при загрузке svga256.bgi у те...   29.12.2007 16:47
Гость   Andriano, по поводу драйвров ты не прав. А именно ...   29.12.2007 19:12
andriano   Andriano, по поводу драйвров ты не прав. :)А тепер...   29.12.2007 20:24
Арсений   Извините, это я гостем вошел. :ohmy: Файлы в нали...   29.12.2007 19:20
Арсений   Почти ясно. Только изображение выводится лишь при ...   29.12.2007 21:17
andriano   Почти ясно. Только изображение выводится лишь при...   29.12.2007 21:44
Арсений   А есть какие нибудь эмуляторы для DOSовских програ...   29.12.2007 21:55
andriano   Что значит "лишают"? В DOS это принципиа...   29.12.2007 22:06
Арсений   "лишают"- имеется в виду сбой когда прог...   30.12.2007 17:44
andriano   "лишают"- имеется в виду сбой когда про...   30.12.2007 18:04
Арсений   Кроче говоря, если программа вернулась в полный эк...   30.12.2007 20:33
andriano   Кроче говоря, если программа вернулась в полный э...   30.12.2007 20:48
Арсений   Ситуация: юзер нажал клаву Windows, программа све...   31.12.2007 3:01
andriano   Так ЧТО должна сделать программа, чтобы вернуть из...   31.12.2007 13:20
Арсений   Всё. Большое всем спасибо за помощь. Я разобрался....   31.12.2007 15:58
andriano   Этот код не восстанавливает режим, а устанавливает...   31.12.2007 17:47
SKVOZNJAK   P.S под DOS программа пишется потому, что под wi...   2.01.2008 14:30
Арсений   Но работает(можно восстановить изображение из пам...   2.01.2008 15:08
andriano   Но работает(можно восстановить изображение из пам...   2.01.2008 17:29
Арсений   Ну другого то способа нету... :no1:   2.01.2008 18:32


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

 



- Текстовая версия 20.07.2025 18:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"