Russian Belarusian English German Japanese Ukrainian

Функция


Возвращает текущее характеристическое отношение (отношение ширины изображения к его высоте) графического режима.

Синтаксис


#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.

Пример


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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту