Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2013, 22:21   #1
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
Печаль Залить фигуру цветом

помогите залить солнышко желтым цветом)
Код:
program labrab4; 
uses crt,graph;
var
gd,gm:integer;
begin
 clrscr;
 gd:=detect;
 initgraph (gd,gm,'');
 if graphresult <> 0 then
begin
 write('ошибка графики:',grapherrormsg (graphresult));
 halt;
end;
 setbkcolor(15);
 setlinestyle(0,0,3);
 setcolor(8);
  fillellipse(270,180,90,90);
  setcolor(8);

  line(250,280,290,280);
  line(250,280,270,345);
  line(290,280,270,345);

  line(170,160,170,200);
  line(170,160,105,180);
  line(170,200,105,180);

  line(250,80,290,80);
  line(250,80,270,15);
  line(290,80,270,15);

  line(370,160,370,200);
  line(370,160,435,180);
  line(370,200,435,180);

    line(330,95,360,125);
    line(330,95,400,60);
    line(400,60,360,125);

    line(210,95,180,125);
    line(210,95,140,60);
    line(140,60,180,125);

     line(360,235,330,265);
     line(360,235,400,300);
     line(400,300,330,265);

     line(180,235,210,265);
     line(180,235,140,300);
     line(140,300,210,265);

 readkey;
 readln;
 closegraph;
end.

в каждом блоке отдельно нарисованно круг, и отдельно лучики вообщем надо каждый лучик и круг залить желтым цветом... если не ошибусь то это цифра 14 приведите пример покажите как заливать фигуру. а то нарисовать нарисовал а залить не могу вспомнить как
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.

Последний раз редактировалось Alexmur07; 18.12.2013 в 22:38.
Alexmur07 вне форума Ответить с цитированием
Старый 18.12.2013, 22:28   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Заливка - floodfill
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 18.12.2013, 22:38   #3
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

приведите пример
Код:
program labrab4; 
uses crt,graph;
var
gd,gm:integer;
begin
 clrscr;
 gd:=detect;
 initgraph (gd,gm,'');
 if graphresult <> 0 then
begin
 write('ошибка графики:',grapherrormsg (graphresult));
 halt;
end;
 setbkcolor(15);
 setlinestyle(0,0,3);
 setcolor(8);
  fillellipse(270,180,90,90);
  setcolor(8);

  line(250,280,290,280);
  line(250,280,270,345);
  line(290,280,270,345);

  line(170,160,170,200);
  line(170,160,105,180);
  line(170,200,105,180);

  line(250,80,290,80);
  line(250,80,270,15);
  line(290,80,270,15);

  line(370,160,370,200);
  line(370,160,435,180);
  line(370,200,435,180);

    line(330,95,360,125);
    line(330,95,400,60);
    line(400,60,360,125);

    line(210,95,180,125);
    line(210,95,140,60);
    line(140,60,180,125);

     line(360,235,330,265);
     line(360,235,400,300);
     line(400,300,330,265);
floodfil(180,236,14);
     line(180,235,210,265);
     line(180,235,140,300);
     line(140,300,210,265);

 readkey;
 readln;
 closegraph;
end.


подскажите что не так сделал?????
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.

Последний раз редактировалось Alexmur07; 18.12.2013 в 22:41.
Alexmur07 вне форума Ответить с цитированием
Старый 18.12.2013, 22:42   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

У floodfill первые два параметра - координаты точки ВНУТРИ фигуры, а третий - цвет границы фигуры.
Либо цвет границы не тот, либо выползли за границу фигуры.

Вы цвет 14 поставили, это не цвет границы.
Цвет заливки нужно указать в процедуре
Setfillstyle(тип, цвет);
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 18.12.2013, 22:45   #5
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

ааа понял, а где уазывать цвет которым заливаешь ? какой синтаксис ?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 18.12.2013, 22:46   #6
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

SetFillStyle(SolidFill,Yellow);
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 18.12.2013, 22:55   #7
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Код:
program labrab4; {Калеганов А.В. группа ПБТ-32}
uses crt,graph;
var
gd,gm:integer;
begin
 clrscr;
 gd:=detect;
 initgraph (gd,gm,'');
 if graphresult <> 0 then
begin
 write('ошибка графики:',grapherrormsg (graphresult));
 halt;
end;
 setbkcolor(15);
 setlinestyle(0,0,3);
 setcolor(8);
  fillellipse(270,180,90,90);
  setcolor(8);

  line(250,280,290,280);
  line(250,280,270,345);
  line(290,280,270,345);

  line(170,160,170,200);
  line(170,160,105,180);
  line(170,200,105,180);

  line(250,80,290,80);
  line(250,80,270,15);
  line(290,80,270,15);

  line(370,160,370,200);
  line(370,160,435,180);
  line(370,200,435,180);

    line(330,95,360,125);
    line(330,95,400,60);
    line(400,60,360,125);

    line(210,95,180,125);
    line(210,95,140,60);
    line(140,60,180,125);

     line(360,235,330,265);
     line(360,235,400,300);
     line(400,300,330,265);

     setfillstyle(solidfill,yellow);
     floodfill(180,236,8);
     line(180,235,210,265);
     line(180,235,140,300);
     line(140,300,210,265);

 readkey;
 readln;
 closegraph;
end.
что терь не так?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 18.12.2013, 22:59   #8
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Прикольно не знаю, похоже на то, что точка затравки вне фигуры. Или в фигуре дырка.

Знаете как сделать нужно.
Ставьте сначала точку - putpixel ярким цветом. И сразу видно, попадает в фигуру или нет. А потом уже заливайте

Последний раз редактировалось ZX Spectrum-128; 18.12.2013 в 23:02.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 18.12.2013, 23:12   #9
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

да на код глянте откуда там дырке взяться?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 18.12.2013, 23:23   #10
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Цитата:
Сообщение от Alexmur07 Посмотреть сообщение
да на код глянте откуда там дырке взяться?
Или точно на границу попали. Попробуйте проверить putpixel'ом.
И еще setfillstyle в начало программы перекиньте. Тогда солнце закрасится.

8-й цвет darkgray?
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать фигуру -=Andriushka=- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 23.10.2011 19:50
Залить цветом диапазон (строку таблицы), если в последней ее ячейке есть текст MasterLee Microsoft Office Excel 5 08.12.2010 09:47
Залить одним цветом Alex Cones Win Api 4 24.09.2010 16:18
Как залить определённые участки формы каким-то определённым цветом? Rin Общие вопросы Delphi 5 18.11.2009 23:05
Залить цветом область. gusluk Мультимедиа в Delphi 3 31.10.2009 05:58