Главная страница
Навигация по странице:

  • include include main() { initwindow ( 400, 300 ); // открыть окно для графики 400 на 300

  • (x2,y2)

  • Заливка произвольной области

  • Графика в C Включение графики


    Скачать 0.84 Mb.
    НазваниеГрафика в C Включение графики
    Дата28.04.2022
    Размер0.84 Mb.
    Формат файлаpdf
    Имя файла509815.pptx.pdf
    ТипПрограмма
    #503426

    Графика в C++

    Включение графики
    Монитор ПК может работать в двух режимах текстовый и графический. В этих режимах по разному представляется видео память. Переход из режима в режим очищает экран.

    Для работы с библиотекой графики ее необходимо подключить.
    • #include
    • #include

    Простейшая графическая программа
    Она открывает специальное окно для рисования, ждет нажатия клавиши и закрывает это окно. Программа эта так же неполноценна, как сэндвич без мяса.
    #include
    #include
    main()
    {
    initwindow ( 400, 300 ); // открыть окно для графики 400 на
    300
    // ... здесь можно рисовать на экране («мясо»)
    getch(); // ждем нажатия клавиши
    closegraph(); // закрыть окно
    }

    Система координат
    • Начало координат, точка (0,0), находится в левом верхнем углу окна.
    • Ось X направлена вправо, ось Y
    вниз (в отличие от общепринятой математической системы координат).
    • Для любой точки координата x – это расстояние до левой границы окна, а y – расстояние до верхней границы.

    Установить цвет для рисования и фона
    • setcolor(<цвет>) - Установить цвет рисования
    • setbkcolor( <цвет>) - Установить цвет фона
    После установки цвета фона графическое окно нужно очистить цветом фона.
    • clearviewport(); - Очистить текущее окно цветом фона

    16 стандартных цветов
    Код
    Название
    Какой цвет
    Код
    Название
    Какой цвет
    0
    BLACK
    черный
    8
    DARKGRAY
    темно-серый
    1
    BLUE
    синий
    9
    LIGHTBLUE
    светло-синий
    2
    GREEN
    зеленый
    10
    LIGHTGREEN
    светло-зеленый
    3
    CYAN
    морской волны
    11
    LIGHTCYAN
    светлый морской волны
    4
    RED
    красный
    12
    LIGHTRED
    светло-красный
    5
    MAGENTA
    фиолетовый
    13
    LIGHTMAGENTA
    светло-фиолетовый
    6
    BROWN
    коричневый
    14
    YELLOW
    желтый
    7
    LIGHTGRAY
    светло-серый
    15
    WHITE
    белый

    Полная палитра
    • В этом случае цвет строится из трех составляющих: красной (R) , зеленой (G) и синей (B).
    • Каждая из этих составляющих – целое число от 0 до 255
    (256 вариантов).
    • Цвета строятся с помощью функции COLOR, у нее в скобках перечисляются через запятую значения составляющих R ,
    G и B (именно в таком порядке).

    Пример цветов
    COLOR(0,0,0) черный
    COLOR(255, 0, 0) красный
    COLOR(0, 255, 0) зеленый
    COLOR(0, 0, 255) синий
    COLOR(255, 255, 255) белый
    COLOR(100, 100, 100) серый
    COLOR(255, 0, 255) фиолетовый
    COLOR(255, 255, 0) желтый

    Линии
    Отрезок можно нарисовать с помощью команды line:
    line ( x1, y1, x2, y2 ); // отрезок (x1,y1)-(x2,y2)
    Есть и другой способ: сначала перевести курсор (указатель текущего положения) в точку (x1,y1) командой moveto, а затем нарисовать отрезок в точку (x2,y2) командой lineto:
    moveto ( x1, y1 ); // курсор в точку (x1,y1)
    lineto ( x2, y2 ); // отрезок в точку (x2,y2)
    После выполнения команды lineto курсор смещается в новую точку (x2,y2).

    Установить стиль и толщину линий setlinestyle(<тип линии>,1,<толщина линии) setlinestyle(0,1,4);

    Прямоугольник
    • Для рисования прямоугольника нужно задать координаты двух противоположных углов (обычно выбирают левый верхний и правый нижний углы). Цвет контура устанавливается с помощью функции setcolor, а сам прямоугольник рисуется командой rectangle:
    setcolor ( 9 );
    rectangle (x1, y1, x2, y2);

    Закрашенный прямоугольник
    Закрашенный прямоугольник рисует команда bar. Цвет и стиль заливки нужно заранее установить, вызвав функцию
    setfillstyle:
    setfillstyle ( 1, 12 ); // стиль заливки 1, цвет 12
    bar (x1, y1, x2, y2);

    Установить цвет для заливки фигур
    • setfillstyle(<стиль закраски>, <цвет>)
    Установить цвет и стиль закраски фигур
    Первое число в команде setfillstyle задает стиль заливки:
    0 – отключить заливку
    1 – сплошная заливка
    3,4,5,6 – наклонные линии
    7,8 – сетка
    9,10,11 – точечные узоры а второе – цвет.

    Стили заливок

    Заливка произвольной области
    Иногда бывает нужно залить каким-то цветом произвольную область, ограниченную контуром одного цвета. Это можно сделать с помощью функции floodfill:
    setfillstyle ( 1, 11 ); // стиль 1, цвет 11
    floodfill (x, y, 0); // до границы цвета 0
    Для заливки нужно знать координаты (x,y) одной (любой!) точки внутри этой области. Кроме того, нужно, чтобы граница области была одного цвета, без разрывов. Цвет границы указывается последним в списке данных, которые передаются функции floodfill

    Окружность
    Чтобы нарисовать окружность, используют функцию circle:
    setcolor ( COLOR(0,255,0) ); // зеленый цвет
    circle ( x, y, R );
    При вызове функции circle в скобках указывают координаты центра и радиус окружности в пикселях. Это могут быть числа, имена переменных или арифметические выражения, например:
    circle ( 200, y0+20, R );

    Точка
    putpixel(x,y,color); -выводит точку по координатам цвета color.

    3D рамка
    bar3d(x1,y1,x2,y2, width, topflag);
    width – боковая ширина, число topflag задаёт наложение верха на рамку. Его обычно ставят 1.
    bar3d(10,10,100,100,10,1);


    написать администратору сайта