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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2014, 18:47   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию Проблема с заливкой замкнутой области

Пытаюсь залить область на Image, которую до этого нарисовал(Карандашом)
но почему-то область не наливается, а когда щелкаю на границу этой произвольной области то она стирается, Как исправить ?

Код:
procedure TForm1.pb1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (btn2.Down = true) and (flag = true) then   
  begin
  img1.Canvas.FloodFill(x,y,panel4.Color,fsSurface);
  end;
end;
Heng вне форума Ответить с цитированием
Старый 27.01.2014, 19:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А для img1.canvas. выставлен brush и нужный цвет заливки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2014, 20:00   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

ну я выставил
pen.color := pnl4.Color;
brush.style:=bsclear;

только это же для элипсов и прямоугольников, а я про фигуру от руки нарисованную(карандашом). Хотя ни там ни там не работает ))))
Heng вне форума Ответить с цитированием
Старый 27.01.2014, 20:49   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
только это же для элипсов и прямоугольников
Цитата:
Use FloodFill to fill a possibly non-rectangular region of the image with the value of Brush.
это из хелпа.
Цитата:
brush.style:=bsclear;
А колор выставил? И выставил для какого компонента?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2014, 20:59   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Код:
if (btn2.Down = true) and (flag = true) then   
 //Çàëèâàåì çàìê
íóòóþ îáëàñòü
  begin
  img1.Canvas.Brush.Style:=bsSolid;
  img1.Canvas.Brush.Color:=pnl4.Color;
  img1.Canvas.FloodFill(x,y,0441,fsSurface);
  end;
вот так вот переделал всеравно не работает, вообще не действий никаких

Последний раз редактировалось Stilet; 27.01.2014 в 22:16.
Heng вне форума Ответить с цитированием
Старый 27.01.2014, 22:18   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
pnl4.Color
Э-э-э это ты указал "Заливать цветом фона панели"?
Поставь clBlack для проверки - зальет?
И поставь fsBorder.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2014, 22:29   #7
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Э-э-э это ты указал "Заливать цветом фона панели"?
Поставь clBlack для проверки - зальет?
И поставь fsBorder.
СДЕЛАЛ теперь как то странно заливает, не тем цветом которым я хочу
цветом границы, а если выбираю другой цвет то вообще весь холст заливает
Heng вне форума Ответить с цитированием
Старый 27.01.2014, 22:32   #8
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

http://programmersforum.ru/showthrea...ight=floodfill вот тут почитай, я там вложение выкладывал. Все заливает цветом, которым нужно.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 28.01.2014, 19:18   #9
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Никак не заливает
Код:
if (btn2.Down = true) and (flag = true) then    //Çàëèâàåì çàìêíóòóþ îáëàñòü
  begin
  img1.Canvas.Brush.Style:=bsSolid;
  img1.Canvas.Pen.Color:=clBlack;
  img1.Canvas.Brush.Color:=clRed;
  img1.Canvas.FloodFill(x,y,clRed,fsSurface);
  end;
Возьмите кто-нибуть мой код попробуйте у себя.
Heng вне форума Ответить с цитированием
Старый 28.01.2014, 20:45   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда выкладывай проект в архиве. Этот кусок кода ни о чем не говорит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика.Заполнение замкнутой области. Leshii Паскаль, Turbo Pascal, PascalABC.NET 1 10.10.2011 00:16
Выяснить, принадлежит ли точка с координатами Х, Y замкнутой области, заданной уравнениями. в паскале Bjac@ Помощь студентам 3 09.01.2011 22:27
Проблема с заливкой в С. Salvadore Общие вопросы C/C++ 2 08.04.2010 13:23
Проблема с заливкой DimPF Microsoft Office Excel 1 24.05.2007 11:56