====== Модуль Graph в TMT ====== [[http://pascal.sources.ru/tmt/doc/graph.htm]]. Загляните, посмотрите. Там все подробно. Основные отличия от родственного 16-битного Graph'a. ===== Инициализация графики ===== Вместо InitGraph делаем так: SetSVGAMode(XRes, YRes, BPP, VMode: Word) xRes и yRes - разрешение экрана, варируется от 640х480 до 1600х1200. BPP - глубина цвета, т.е. 2 в BPP степени цветов у вас будет VMode может принимать следующие значения в дипазоне [1..3]: Константа Значение Пояснение LFBorBanked 0 Установить режим LFB или с переключением банков BankedOnly 1 Установить режим только с переключением банков LFBOnly 2 Установить только LFB режим Выход делается любимым GloseGraph. ===== Количество цветов ===== А теперь вспомним, что количество поддерживаемых цветов уже не 256! [:)] Это влияет не только на тип номера цвета. По этому поводу очень полезны подпрограмки RGBColor(R, G, B: Byte) , которая по компонентам RGB заданного цвета возвращает его номер, и AnalizeRGB (Color: Dword; var R,G,B: Byte) , которая делает противоположное, т.е. по номеру цвета возвращает его RGB составляющие. ===== Работа со страницами ===== в ТМТ появилась такая процедура - SetVirtualMode(var p:pointer) которая перенаправляет весь вывод на экран (при установленном граф.режиме) в буфер памяти, размер которого - одно окно (getpagesize), этот буфер предварительно нужно выделить getmem'ом. После ее вызова изображение на экране обновляться не будет до вызова fliptoscreen(p), где p - переменная, содержащая экран (либо та, которая была использована в вызове setvirtualmode, либо еще какая-нибудь такого же размера, в которую был загружен образ экрана откуда-то еще). Возврат к нормальному режиму - SetNormalMode. Также есть процедура снятия скриншота - FlipToMemory(p).