CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
getaspectratio
getaspectratio
Функция Возвращает текущее характеристическое отношение (отношение ширины изображения к его высоте) графического режима. Синтаксис #include <graphics.h> 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 <= 10000 getaspectratio передает значения в *xasp и *yasp. Возвращаемое Нет. значение Переносимость Такая же функция существует в Turbo Pascal. Функция не совместима с Windows. Смотрите также arc, circle, ellipse, fillellipse, pie- slices, sector, setaspectratio. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int xasp,yasp,midx,midy; /* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,""); /* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormessage(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; }