Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Функция Возвращает текущее характеристическое отношение

 
                    (отношение  ширины  изображения  к   его   высоте)
 
                    графического режима.
 
 
 
 Синтаксис          #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.
 
 
 
 Смотрите также     arc, circle, ellipse, fillellipse, pie-
 
                    slices, sector, setaspectratio.
 
 
 
 Пример:
 
 
 
 #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;
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS