Функция Возвращает текущее характеристическое отношение
getaspectratio
Функция Возвращает текущее характеристическое отношение (отношение ширины изображения к его высоте) графи- ческого режима.
Синтаксис #include
void far getaspectratio( int far *xasp, int far *yasp);
Файл, содержащий graphics.h прототип
Описание Фактор y-аспекта, *yasp, нормализуется к 10 000; на всех графических адаптерах, кроме VGA, *xasp ( фактор y-аспекта) меньше *yasp, т.к. пик- сел больше в высоту,чем в ширину.На VGA,который имеет "квадратный" пиксел, *xasp равно *yasp. В целом, соотношение между *yasp и *xasp следующее:
*yasp = 10000 *xasp
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int xasp,yasp,midx,midy;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1));
/* получить текущее характеристическое отношение */ getaspectratio(&xasp,&yasp);
/* нарисовать нормальную окружность */ circle(midx,midy,100); getch();
/* нарисовать окружность, вытянутую в ширину */ cleardevice(); setaspectratio(xasp/2,yasp); circle(midx,midy,100); getch();
/* нарисовать окружность, вытянутую в длину */ cleardevice(); setaspectratio(xasp,yasp/2); circle(midx,midy,100); getch();
/* очистка */ getch(); closegraph(); return 0; }