Russian Belarusian English German Japanese Ukrainian

Setaspectratio

CuBook05

Функция

Изменяет корректитующий фактор характеристического отношения, установленного по умолчанию.
 
Синтаксис

#include <graphics.h>
void far setaspectratio(int xasp,int yasp);
 
Прототип

graphics.h
 
Описание

Функция setaspectratio испльзуется для изменения, установленного по умолчанию характеристического отношения графической системы. Характеристическое отношение используется графической системой для того, чтобы убедиться, что окружность рисуется круглой. Если окружность на экране выглядит эллипсом, монитор плохо настроен. Это может быть исправлено в аппаратном обеспечении посредством перенастройки монитора, или это может быть сделано в пограммном обеспечении, используя setaspectratio для установки характеристического отношения. Для получения текущего характеристического отношения для системы вызывается getaspectratio.
 
Возвращаемое значение

Нет.
 
Переносимость

Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с 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());

/* получить текущее характеристическое отношение */
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

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


Защитный код Обновить