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

Закраска замкнутых фигур

25.04.2018, 15:07. Показов 2854. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
можно программный пример закраски методом сканирующей строки и методом заливки с затравкой с использованием рекурсивной функции
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2018, 15:07
Ответы с готовыми решениями:

Моделирование замкнутых СМО
нужно смоделировать замкнутые смо М/М/1/N,; М/М/m//N; М/М/m/0/N

Построение полигонов (замкнутых)
Приветствую. Интересует построение полигонов, которые будут замкнуты. Пытался использовать DrawWuLine, но он возвращает +1 к точкам, хотя...

Поиском замкнутых областей на изображении
Привет всем. Есть много изображений вида https://www.cyberforum.ru/attachment.php?attachmentid=237167&stc=1&d=1361512297 Из него...

9
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
25.04.2018, 19:34
yesofcourse,
а регион не подойдет?
0
1 / 1 / 1
Регистрация: 14.03.2017
Сообщений: 59
25.04.2018, 20:31  [ТС]
lifeforce, что простите?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
25.04.2018, 21:34
yesofcourse,
у каждой замкнутой фигуре есть координаты ее границ.
есть регион в котором попадают все точки. их и можно закрасить.
0
1 / 1 / 1
Регистрация: 14.03.2017
Сообщений: 59
25.04.2018, 21:38  [ТС]
lifeforce, то есть существует какая-то проверка на то, что точки находятся в этом самом регионе, или же необходимо самому на это указать?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
25.04.2018, 21:41
есть такая проверка
0
1 / 1 / 1
Регистрация: 14.03.2017
Сообщений: 59
25.04.2018, 21:45  [ТС]
lifeforce, эмм, это что-то вроде этого - PaintRgn и FillRgn ?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
25.04.2018, 22:10
здесь можно посмотреть.
Заливка областей произвольной формы

Формула, определяющая, входит ли точка в многогранник

в хендле
C++
1
2
3
    TPoint tPoints[500],ttPoints[500];
    HRGN hRgn;    // регион
    bool tocka;   // проверка истины
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
void __fastcall TForm2::Region(TObject *Sender)
{
        // где-то в программе
        // HRGN hRgn;    // регион
        // bool tocka;   // проверка истины
         int a =0;     // так как разное количество линий в каждом регионе
 
         for (int i=0; i<StringGrid_node_range->RowCount; i++)
    {  if (StringGrid_node_range->Cells[0][i]!="" )// выбрал первый регион к примеру
        {
//записываем координаты всех имеющихся точек из StringGrid1 в tPoints для рисования
        tPoints[i].x=StrToInt(StringGrid_node_range->Cells[0][i]);// координаты Х
        tPoints[i].y=StrToInt(StringGrid_node_range->Cells[1][i]);// координаты У
          a=a+1; // общее количество запомненых координат в данном регионе
         }
    }
//
hRgn = CreatePolygonRgn(tPoints, a-1, ALTERNATE);
tocka = PtInRegion(hRgn,2343,4695); //  примерная точка
if (tocka==true) ShowMessage ("OK");//  если точка в зоне региона
 DeleteObject(hRgn);
 //Karta_rajona->Canvas->Polygon(tPoints,a-1);// непосредственно рисование полигона по точкам tPoints
}
//---------------------------------------------------------------------------

в этой программе только поиск точек которые находятся в регионе. там можно и закрасить.

Добавлено через 11 минут
http://www.rsdn.ru/article/gdi/regions.xml
больше инфы
1
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
26.04.2018, 02:49
у Canvas есть метод FloodFill, подробности читаем в справке:
C++
1
virtual void __fastcall FloodFill(int X, int Y, System::Uitypes::TColor Color, TFillStyle FillStyle);
FillStyle = fsSurface - заполняется область, окрашенная цветом Color
FillStyle = fsBorder - заполняется область в границах Color
1
1 / 1 / 1
Регистрация: 14.03.2017
Сообщений: 59
26.04.2018, 17:44  [ТС]
TrollHammer, это уже третий метод, который я должен реализовать, но о нём я не спрашивал, так как не разобрался в двух других
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2018, 17:44
Помогаю со студенческими работами здесь

Посчитать количество замкнутых контуров
Здравствуйте!. Задача такая. Имеется утоньшенное(толщиной в 1 пиксел) изображение цирф. Каким образом посчитать кол-во...

Примеры базисов в замкнутых классах
Пишу курсовую Надо доказать, что множество является базисом в классе сохраняющем константу 1. Пред всё сделала, но предподаватель просить...

Массив разных фигур, и нахождение в нём площади всех фигур
Есть разные фигуры, унаследованные от интерфейса Figure, как мне создать сначала массив этих фигур а потом в этом массиве посчитать площадь...

Реализация массива фигур, вычисление площади и периметра фигур
Задание 1: Реализовать иерархию классов представленную на рисунке. В базовом классе описать, а в классах потомках реализовать абстрактные...

Сборка замкнутых контуров из отрезков списка
Помогите разобраться.. попытался реализовать помехоустойчивый алгоритм сборки, отсекающий лишние и тупиковые отрезки и цепочки...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru