Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.04.2018
Сообщений: 17
1

Не удается закрасить обьект на Турбо Паскале

29.10.2018, 16:26. Просмотров 901. Ответов 7
Метки нет (Все метки)


Изображение вложено. При команде floodfill с координатами закрашивается только линии а не сам обьект полностью. Куб сделан командой Bar3d.
Подкачайте новичка
0
Миниатюры
Не удается закрасить обьект на Турбо Паскале  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2018, 16:26
Ответы с готовыми решениями:

Как закрасить обьект?
Как просто закрасить (залить) полностью фигуру? Половина закрашена в серый, а половина которую я...

Не удаётся связать алгоритм for_each и функциональный обьект
1. Написать программу, в которой создаётся массив и заполняется случайными числами в заданном...

Программа на турбо паскале
Ребят, помогите написать программу на турбо паскале. Не разбираюсь в массивах. Желательно уже...

Прога в турбо паскале)
Помогите решить, народ) Обчислити значення та побудувати графіки функцій Y1=А*sin(В*х+рі/3) та...

7
Эксперт Pascal/Delphi
6559 / 4416 / 4714
Регистрация: 05.06.2014
Сообщений: 21,702
29.10.2018, 16:31 2
Amity Co, программу предоставьте.
0
Модератор
62920 / 46944 / 32351
Регистрация: 18.05.2008
Сообщений: 113,756
29.10.2018, 19:37 3
Цитата Сообщение от Amity Co Посмотреть сообщение
Куб сделан командой Bar3d.
Так не закрасит, нужно каждую грань рисовать процедурой fillpoly.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30867 / 20189 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
29.10.2018, 19:42 4
Amity Co, если перед Bar3D вызвать SetFillStyle и SetFillPattern, то эти грани сразу будут нарисованы и залиты указанным цветом и указанным стилем заливки.
0
Модератор
62920 / 46944 / 32351
Регистрация: 18.05.2008
Сообщений: 113,756
29.10.2018, 20:01 5
У меня что так, что так, красит только переднюю грань.
0
0 / 0 / 0
Регистрация: 25.04.2018
Сообщений: 17
30.10.2018, 16:47  [ТС] 6
вот
0
Вложения
Тип файла: rar TELEK.rar (458 байт, 3 просмотров)
0 / 0 / 0
Регистрация: 25.04.2018
Сообщений: 17
30.10.2018, 16:49  [ТС] 7
не неполучается. Может я неправильно делаю, пожалуйста разъясните как это правильно написать
0
Модератор
62920 / 46944 / 32351
Регистрация: 18.05.2008
Сообщений: 113,756
30.10.2018, 19:13 8
Лучший ответ Сообщение было отмечено Amity Co как решение

Решение

Посмотри здесь.
Нарисовать телевизор

Добавлено через 2 минуты
Это давно рисовал, нужно применять
Pascal
1
array[1..5] of pointtype;
и
Pascal
1
FillPoly
Добавлено через 1 час 21 минуту
Поправил рисунок по ссылке.
Pascal
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
uses graph;
var x,y,a,b,c:integer;
    p:array[1..5] of pointtype;
begin
initgraph(x,y,'');
x:=getmaxX div 2;
y:=getmaxY div 2;
a:=80;
b:=30;
c:=15;
setcolor(7);
setfillstyle(1,7);
{фасад}
bar(x-a-b,y-a-c,x+a+b,y+a+c);
{верхняя грань}
p[1].x:=x-a-b; p[1].y:=y-a-c;
p[2].x:=x-a; p[2].y:=y-a-b-2*c;
p[3].x:=x+a+2*b; p[3].y:=y-a-b-2*c;
p[4].x:=x+a+b; p[4].y:=y-a-c;
p[5]:=p[1];
fillpoly(5,p);
{правая грань}
p[1].x:=x+a+b;   p[1].y:=y-a-c;
p[2].x:=x+a+2*b;   p[2].y:=y-a-b-2*c;
p[3].x:=x+a+2*b; p[3].y:=y+a-b-c;
p[4].x:=x+a+b; p[4].y:=y+a+c;
p[5]:=p[1];
fillpoly(5,p);
{ребра}
setcolor(1);
line(x-a-b,y-a-c,x+a+b,y-a-c);
line(x+a+b,y-a-c,x+a+b,y+a+c);
line(x+a+2*b,y-a-b-2*c,x+a+b,y-a-c);
{экран}
setfillstyle(1,9);
bar(x-a,y-a,x+a,y+a);
{антенна}
setcolor(8);
setfillstyle(1,8);
fillellipse(x+10,y-a-b-8,30,15);
setlinestyle(0,0,3);
setcolor(15);
line(x+5,y-a-b-8,x-10,y-a-b-70);
line(x+10,y-a-b-8,x+30,y-a-b-70);
setcolor(8);
setfillstyle(1,8);
fillellipse(x-10,y-a-b-70,3,3);
fillellipse(x+30,y-a-b-70,3,3);
{кнопки на передней панели}
fillellipse(x+a+b div 2,y-b,5,13);
fillellipse(x+a+b div 2,y,5,13);
bar(x+a+b div 2-3,y+b-3,x+a+b div 2+3,y+b+3);
bar(x+a+b div 2-3,y+b+c-3,x+a+b div 2+3,y+b+c+3);
readln
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2018, 19:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Ребус в турбо Паскале
1. Составить на языке Турбо-Паскаль программу «Rebus»: - на экран вывести ребус в виде...

Асемблер в турбо паскале.
Зарание спасибо. Нужно вот что " k mod i " реализовать в ассемблере: я делал всегда по схеме ...

Рисунок Ёлки в турбо паскале
Помогите нарисовать ёлку в турбо паскале

Изобразить домик в Турбо Паскале
На Турбо Паскале изобразить домик в котором в окне при нажатии 1 свет загорается,при вводе 2 свет...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.