C++ для начинающих Рисование прямоугольника

Нарисовать прямоугольник очень просто. Рисовать его можно разными способами. В графических библиотеках С++, которые используют для рисования, обычно существуют встроенные функции для рисования прямоугольника, чаще всего они одноимённы: rectangle. Прямоугольник может быть не закрашенным и закрашенным.

Чтобы начать что-то простенькое рисовать, нужно понять несложные принципы. Двумерная графика построена на примитивах: используются самые простые фигуры, среди которых есть прямоугольник. Чтобы понять, как что-то своё рисовать, имеет смысл научиться эти примитивы просто выводить на экран. Потом уже имеет смысл что-то создавать из этих примитивов.

  Сейчас я покажу способ рисований двумерного прямоугольника с помощью функций rectangle и bar

  • rectangle — Функция рисует прямоугольник линией текущего вида, толщины и цвета.
  • bar — Функция рисует двумерный заполненный прямоугольник. Прямоугольник заполняется, с использованием текущего цвета и шаблона заполнения. При этом не рисуется контур прямоугольника;

  Собственно, теория теорией, но чем больше слов, тем больше могут кипеть мозги, поэтому вспомним, что чтобы нарисовать прямоугольник, достаточно знать всего две точки: левый верхний угол и правый нижний угол. У каждой точки по две координаты: T1(x,y), T2(x,y).

  Можно посмотреть разницу между функциями rectangle и bar.
Код C++ Рисование двумерного прямоугольника

  Я использовал функцию setfillstyle, которая устанавливает цвет и стиль закраски, благодаря чему видно, что при рисовании прямоугольника контуром эта функция не имеет смысла, но при рисовании закрашенной области, получается некоторый эффект. Чтобы увидеть, как это срабатывает, достаточно своими руками менять значения внутри setfillstyle(стиль,цвет).

  Думаю, этого может быть недостаточно для хорошего освоения только что начавшему, поэтому буду копать и объяснять немного глубже (даже если кому-то это кажется лишним).

  Для рисования прямоугольника задаются две координаты: Верхний левый угол и правый нижний угол. Можно просить ввести эти координаты с клавиатуры, можно написать, как написал я, можно строить прямоугольник после какого-то расчёта нужных точек. Сейчас я опишу только как хотя бы немного представлять то, что должно получится, если использовать цифры, как их использовал я.

  В моём примере можно увидеть надпись …нажмите любую клавишу…, которая светится в самом верху экрана. Чтобы эта надпись не перекрывала прямоугольник, я изначально решил строить его чуть ниже. Чтобы построить прямоугольник ниже, нужно сместить его левый верхний угол. Левый верхний угол экрана является началом отсчёта для рисования, поэтому от него отталкиваемся, когда выбираем точки для построения фигуры.

  • Чтобы вытянуть прямоугольник в длину, нужно следить за параметрами по оси х
  • Чтобы вытянуть высоту прямоугольника, нужно следить за параметрами по оси y

 

  • rectangle(x1,y1,x2,y2) — общий принцип построения прямоугольника
  • rectangle(x1,y1,x1+300,y1+10) — то, как строил прямоугольник я.

  Несложно увидеть и понять, что 300>10,
при этом большая часть тут относится к оси х,
так как часть по оси х больше, то прямоугольник будет вытянут в длину,
если бы часть по оси y была бы больше, то прямоугольник бы был вытянут в высоту.

  Я думаю это достаточно просто, но, наверное, эти объяснения смогут кому-то пригодиться.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

9 комментариев: C++ для начинающих Рисование прямоугольника

  • Nik говорит:

    У меня на функцию #include <graphics.h> выходит ошибка  «error: graphics.h: No such file or directory»




    0



    0
    • admin говорит:

      Это не функция. Заговочный файл.
      Это для очень старого компилятора тема. Вам не подойдёт. Тем для работы с графикой в современных компиляторах у меня на сайте нет.




      0



      0
  • Наташа говорит:

    Какой компилятор вы использовали для рисования??




    0



    0
  • Аноним говорит:

     

    public class Solution
    {
        public static void main(String[] args) throws Exception
        {
            //Считать строки с консоли и объявить ArrayList list тут
            BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
            ArrayList<String> list = new ArrayList<>();
            for (int i = 0; i < 10; i++){
                list.add(br.readLine());
            }
            ArrayList<String> result = doubleValues(list);
    
            //Вывести на экран result
            for (String x:result){
                System.out.println(x);
            }
        }
    
        public static ArrayList<String> doubleValues(ArrayList<String> list)
        {
            //напишите тут ваш код
            ArrayList<String> temp = new ArrayList<>();
           for ( int i = 0; i < list.size(); i++){
               temp.add(list.get(i));
               temp.add(list.get(i));
           }
            return temp;
        }
    }
    



    0



    0
  • ошшрр говорит:

    а в какой проге это  делать

     




    0



    0
  • Аноним говорит:

    нет директорий  так скачай её!




    0



    0
    • admin говорит:

      Это не тот случай, когда легко скачать библиотеку. Пример приведён для стародревнего компилятора.




      0



      0

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

Ваш e-mail не будет опубликован.

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/d-m-zlatopolskiy/programmirovanie-tipovye-zadachi-algoritmy-metody-6509134/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Мы должны убедиться, что сайтом пользуется не робот!!! Для этого разденьтесь догола и включите wеb-камеру.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок