}
printStr ( "\nshowit\nM ); main ()
int driver = DETECT;'
int mode; int res;
initgraph ( &driver, &mode, "" ); if ( ( res = graphresult () ) != grOk )
{
printffViGraphics error: %s\n", grapherrormsg (res) ); exit ( 1 );
}
line ( 0, 0, 0, getmaxy () ); line ( 0, getmaxy (), getmaxx (), getmaxy () ); line ( getmaxx (), getmaxy (), getmaxx (), 0 ); line ( getmaxx (), 0, 0, 0 );

Компьютерная графика. Полигональные модели

for (int i = TRIPLEX_FONT; i <= GOTHIC_FONT; i++ ) {
settextstyle (i, HORIZ_DIR, 5 ); outtextxy ( 100, 50*i, "Some string");
}
getch ();
printScreenPS ( 0, 0, getmaxx (), getmaxy (), 100 ); closegraph ();
)

4.6. Видеокарты EGA и VGA

Основным графическим устройством, с которым чаще всего приходится работать, является видеосистема компьютера. Обычно она состоит из видеокарты (адаптера) и подключенного к ней монитора. Изображение хранится в растровом виде в памяти видеокарты: аппаратура карты обеспечивает регулярное (50-70 раз в^секун-ду) чтение этой памяти и отображение ее на экране монитора. Поэтому вся работа с изображением сводится к тем или иным операциям с видеопамятью.

Наиболее распространенными видеокартами сейчас являются клоны карт EGA (Enhanced Graphics Adaptor) и VGA (Video Graphics Array). Кроме того, существует большое количество различных SVGA-карт, которые будут рассмотрены в конце главы.

Приведем список основных режимов для этих карт. Режим определяется номером, разрешением экрана и количеством цветов.

Номер режима

Разрешение экрана

Количество цветов

ODh 320x200
OEh 640x200
OFh 640x350
10h 640x350
11h (VGA) 640x480
12h (VGA) 640x480
13h (VGA) 320x200

Каждая видеоплата содержит в своем составе собственный BIOS для работы с ней и поддержки основных функций платы.

Ниже приводится файл, содержащий базовые функции по работе с графикой, доступные через BIOS.

Si // File ega.Cpp
#include <dos.h> include "ega.h"
int findEGA () {
asm {
mov ax, 1200h

4. Работа с основными графическими устройствам

mov bx, 10h int 10h
}
return _BL != 0x10;

⇐ Предыдущая| |Следующая ⇒