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 <= 10000

                    getaspectratio передает значения в *xasp и *yasp.

 Возвращаемое       Нет.
 значение

 Переносимость      Такая же функция существует в Turbo Pascal 4.0

 Смотрите также     arc circle ellipse fillellipse pie
                    slices sector setaspectratio

 Пример:

 #include 
 #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;
 }