Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 5
Builder 6

Нужно нарисовать флаг Иордании в C++ Builder, используя Canvas. У меня никак не получается

20.06.2021, 16:06. Показов 2956. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста нарисовать флаг Иордании в C++ Builder, используя Canvas. Я уже полтора часа сижу ничего не могу сделать..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2021, 16:06
Ответы с готовыми решениями:

Нарисовать флаг Иордании
Люди, помогите, пожалуйста, нужно в нарисовать флаг иордании, перерыл всё, нигде ничего нет. Желательно через прерывание 12h, но можно и...

Нарисовать флаг Иордании
Написать программу через модуль graph, нужно составить такое изображение:

Нужно преобразовать массив ассоциативных массивов в единый ассоциативный массив, а у меня никак не получается
Как преобразовать массив на скрине так, чтобы получился массив: => FB => FREE При этом длинна массива массивов изменчива....

10
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 16:24
Вот примеры: Нарисовать флаг Пуэрто Рико
Создал флаг Канады, TCanvas! Но есть пару ошибок
0
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 5
20.06.2021, 16:26  [ТС]
Я смотрел эти примеры, я до этого рисовал большой прямоугольник и три маленьких в нем. Закрасил их и потом нарисовал треугольник, но у меня не закрашивается треугольник, а дальше так вообще я не знаю как. Просто все рушится при малейших движениях.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 16:32
Выложи свой код. А там вдруг кто и поможет.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 16:55
Для рисования "звезды" можешь использовать код отсюда: Рисование пятиконечной звезды - C++ Builder
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void TForm1::star (TPoint center, int outer_radius, int inner_radius, int beam_count, TColor fill_color, TColor outline_color)
{
  // center - центр фигуры
  // outer_radius и inner_radius - внешний и внутр. радиусы
  // beam_count - кол-во лучей
  // fill_color и outline_color - цвет заливки (закраски) и контура
 
  // обновляем изображение
  Refresh();
 
  // цвет контура
  Canvas->Pen->Color = outline_color;
 
  // переходим в "начальную точку" звезды
  Canvas->MoveTo(center.x+sin(0)*outer_radius, center.y-cos(0)*outer_radius);
 
  // рисуем лучи
  for (int i = 1; i <= beam_count; i++)
  {
    Canvas->LineTo(center.x+sin((i*2-1)*M_PI/beam_count)*inner_radius, center.y-cos((i*2-1)*M_PI/beam_count)*inner_radius);
    Canvas->LineTo(center.x+sin(i*2*M_PI/beam_count)*outer_radius+1, center.y-cos(i*2*M_PI/beam_count)*outer_radius-1);
  }
 
  // закрашиваем фигуру
  Canvas->Brush->Color = fill_color;
  Canvas->FloodFill(center.x, center.y, Canvas->Pixels[center.x][center.y], fsSurface);
}
Только для точного рисования нужно знать пропорции и/или размеры (диаметры "внутренней" и "внешней" окружностей, которые мысленно можно нарисовать по краям звезды).



Либо попробуй нарисовать через Polygon (не только звезду).
Начни с прямоугольников, потом треугольник и звезда.
0
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 5
20.06.2021, 18:48  [ТС]
Извините.. а.. я уже все нарисовал, кроме звездочки. Через Polygon попытался, но потом понял что я слишком глупый и это метод слишком долгий. А ваш код не подойдет, потому что мне скажут что делал не я, а нужно разобраться. Как.. не знаю..

Добавлено через 8 минут
Цитата Сообщение от gunslinger Посмотреть сообщение
Для рисования "звезды" можешь использовать код отсюда: Рисование пятиконечной звезды - C++ Builder
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void TForm1::star (TPoint center, int outer_radius, int inner_radius, int beam_count, TColor fill_color, TColor outline_color)
{
  // center - центр фигуры
  // outer_radius и inner_radius - внешний и внутр. радиусы
  // beam_count - кол-во лучей
  // fill_color и outline_color - цвет заливки (закраски) и контура
 
  // обновляем изображение
  Refresh();
 
  // цвет контура
  Canvas->Pen->Color = outline_color;
 
  // переходим в "начальную точку" звезды
  Canvas->MoveTo(center.x+sin(0)*outer_radius, center.y-cos(0)*outer_radius);
 
  // рисуем лучи
  for (int i = 1; i <= beam_count; i++)
  {
    Canvas->LineTo(center.x+sin((i*2-1)*M_PI/beam_count)*inner_radius, center.y-cos((i*2-1)*M_PI/beam_count)*inner_radius);
    Canvas->LineTo(center.x+sin(i*2*M_PI/beam_count)*outer_radius+1, center.y-cos(i*2*M_PI/beam_count)*outer_radius-1);
  }
 
  // закрашиваем фигуру
  Canvas->Brush->Color = fill_color;
  Canvas->FloodFill(center.x, center.y, Canvas->Pixels[center.x][center.y], fsSurface);
}
Только для точного рисования нужно знать пропорции и/или размеры (диаметры "внутренней" и "внешней" окружностей, которые мысленно можно нарисовать по краям звезды).

Вложение 1263192

Либо попробуй нарисовать через Polygon (не только звезду).
Начни с прямоугольников, потом треугольник и звезда.
Пожалуйста, помогите мне нормально нарисовать семиконечную звезду, емае, пожалуйста. Я сижу тут с полигоном ничего не могу сделать, точнее делаю, но они как-то торчат, жопа короче.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 19:27
Нарисуй на бумаге с осями координат (в тетради в клеточку) или в пейнте (там сетку можно отобразить), либо где-то еще. Так ты будешь знать примерные координаты (точек звезды).
А далее нарисовать - дело техники: Нарисовать флаг Пуэрто Рико
0
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 5
20.06.2021, 19:48  [ТС]
Цитата Сообщение от gunslinger Посмотреть сообщение
Нарисуй на бумаге с осями координат (в тетради в клеточку) или в пейнте (там сетку можно отобразить), либо где-то еще. Так ты будешь знать примерные координаты (точек звезды).
А далее нарисовать - дело техники: Нарисовать флаг Пуэрто Рико
Короче. Спасибо большое, я попробовал, но было неудобно особо и я подумал.. а может лучше сделать так? И сделал вот так. При нажатии кнонпки мыши, корды будут выводиться в листбокс. Я все запишу и как бы сделаю звезду, постараюсь хотя бы.
Миниатюры
Нужно нарисовать флаг Иордании в C++ Builder, используя Canvas. У меня никак не получается  
0
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 5
20.06.2021, 20:20  [ТС]
Цитата Сообщение от gunslinger Посмотреть сообщение
Нарисуй на бумаге с осями координат (в тетради в клеточку) или в пейнте (там сетку можно отобразить), либо где-то еще. Так ты будешь знать примерные координаты (точек звезды).
А далее нарисовать - дело техники: Нарисовать флаг Пуэрто Рико
Нет! Нет - нет - нет! Я сдаюсь. Все, я сдаюсь. Хочется ругнуться, не могу. Помогите пожалуйста с этой звездой..

Добавлено через 6 минут
Цитата Сообщение от gunslinger Посмотреть сообщение
Нарисуй на бумаге с осями координат (в тетради в клеточку) или в пейнте (там сетку можно отобразить), либо где-то еще. Так ты будешь знать примерные координаты (точек звезды).
А далее нарисовать - дело техники: Нарисовать флаг Пуэрто Рико
Я сдался. Покажу жопу вместо звезды. Плевать вообще. Я какие только способы не поперепробовал с координатами, чтоб все ровно было, не получается. Жопа, значит жопа.
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 22:50
Надо не "задницу" показывать, а мозги.
Я же объяснил более чем доступно, что и как делать.
Только не надо спрашивать, куда следующий код вставить.
C++
1
2
3
4
5
6
  Canvas->Brush->Color = clWhite;
  TPoint points[14] = {Point(127, 90), Point(139, 121), Point(165, 115), Point(154, 140),
                       Point(173, 156), Point(148, 162), Point(147, 188), Point(127, 173),
                       Point(105, 189), Point(105, 163), Point(80, 156), Point(100, 140),
                       Point(89, 116), Point(114, 122)};
  Canvas->Polygon(points, 13);
Получилось немного кривовато, но раз нормальный способ (через "геометрию") не устраивает, то придется самостоятельно корректировать координаты для лучшей картинки.

0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
20.06.2021, 22:57
P.S.: например, для первой точки изменить координату "y" с 90 на 95 (как вариант).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2021, 22:57
Помогаю со студенческими работами здесь

надо сделать таблицу ,а у меня не получается никак(3 часа уже бьюсь
19. Вычислить в Excel функцию и построить её график для Х=(-5; -4,5;…+4,5; +5): 2X + 5 при X&lt;0 шаг для X выбрать...

Нарисовать флаг используя NURBS, кривые Безье
Здравствуйте ребят! Требуется нарисовать пробитый пулями флаг на флагштоке (флаг должен быть нарисован используя NURBS-поверхности)....

В С++Builder' e никак не получается управлять одной формой через другую
Здравствуйте! В С++Builder' e никак не получается управлять одной формой через другую - например, загрузочная форма должна исчезать и...

Нарисовать флаг Судана, используя библиотеку windows.h (графика)
Нарисовать флаг Судана. Используя библиотеку windows.h

Нарисовать флаг Либерии, используя только определенные процедуры
Сделайте флаг по это теме построения геометрияеских фегур 11 класс сделай те пожалуйсто через фул фил Pascal abc


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru