Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Графика

Автор: Client 19.10.2008 15:32

Привет всем!
Я нарисовал прямоугольник и разбил его на части, теперь надо закрасить эти части(хотя бы одну для примера).

uses crt,graph;
var
a,b:integer;

procedure pryam;
begin
rectangle(170,90,470,390);
line(170,90,470,390);
line(170,390,470,90);
line(170,240,470,240);
line(170,240,320,90);
line(320,90,470,240);
line(320,390,170,240);
line(320,390,470,240);
setfillstyle(2,6);
floodfill(175,100,0); //<-- вот тут не получается
end;

begin
a:=detect;
initgraph(a,b,'');
pryam;
readkey
end.

Помогите пожалуйста

Автор: volvo 19.10.2008 16:40

Получается, только заливается один-единственный пиксель, поскольку неверно указан цвет границы заливаемой области (да,да... FloodFill принимает третьим параметром именно цвет границы, а не цвет, который надо залить...)

floodfill(175,100,White); //<-- У тебя разве где-то есть ЧЕРНАЯ граница области? 



Автор: Client 19.10.2008 17:04

Цитата
floodfill(175,100,White); //<-- У тебя разве где-то есть ЧЕРНАЯ граница области?
Спасибо! А почему если вместо White написать green или другое то получается что то странное...??

Автор: volvo 19.10.2008 17:05

У тебя на картинке что, есть зеленая граница области? Вот когда будет - будешь писать Green. А пока весь контур отрисован белым - делай FloodFill(..., ..., White).

Автор: Client 19.10.2008 17:06

Еще раз спасибо!