CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setaspectratio
setaspectratio
Функция Изменяет корректитующий фактор характеристического отношения, установленного по умолчанию. Синтаксис #include <graphics.h> void far setaspectratio(int xasp,int yasp); Файл, содержащий graphics.h прототип Описание setaspectratio испльзуется для изменения, установленного по умолчанию характеристического отношения графической системы. Характеристическое отношение используется графической системой для того, чтобы убедиться, что окружность рисуется круглой. Если окружность на экране выглядит эллипсом, монитор плохо настроен. Это может быть исправлено в аппаратном обеспечении посредством перенастройки монитора, или это может быть сделано в пограммном обеспечении, используя setaspectratio для установки характеристического отношения. Для получения текущего характеристического отношения для системы вызывается getaspectratio. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также circle, getaspectratio. Пример: #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()); /* получить текущее характеристическое отношение */ 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; }