Функция Возвращает текущее характеристическое отношение
(отношение ширины изображения к его высоте) графи-
ческого режима.
Синтаксис #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
Смотрите также arccircleellipsefillellipsepieslicessectorsetaspectratio
Пример:
#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;
}