Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.12.2012, 08:06
std25 std25 вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 6
Репутация: 10
По умолчанию проблемы с заливкой

здравствуйте.необходимо создать графическое приложение,фигуры в котором строятся по координатам,который вводит пользователь.
Внизу приведен код построения прямоугольника,в нем задается 4 координаты.
Код:
x1:=strtoint(Edit1.Text);
  y1:=strtoint(Edit2.Text);
  x:=strtoint(Edit3.Text);
  y:=strtoint(Edit4.Text);
  with Form2.Image1.Canvas do begin
Pen.Width := 2;
Brush.Style := bsClear;
Pen.Color := clBlue;
Rectangle(x1,y1,x,y);
close;
end;
а теперь вопрос,как осуществить заливку данного прямоугольника по кнопке(типо как в Paint)/ Выбрать фигуру,выбрать цвет и затем ее залить.
я не могу понять как в заливку типа
Код:
begin
with Image1.Canvas do begin
 brush.color:=clRed;
 floodfill(10,10,pixels[10,10],fsSurFace);
end;
Админ: Пользуемся тегами для оформления кода!

можно передать мои 4 координаты x,y,x1,y1 и как подключить к ней ColorDiolog

заранее благодарю за помощь)

Последний раз редактировалось Admin, 05.12.2012 в 09:26.
Ответить с цитированием
  #2  
Старый 05.12.2012, 08:31
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от std25
Brush.Style := bsClear;
Pen.Color := clBlue;
Rectangle(x1,y1,x,y);
close;
end;

а теперь вопрос,как осуществить заливку данного прямоугольника по кнопке(типо как в Paint)/
Ну Rectangle и так умеет заливать прямоугольник цветом кисти если заменить bsClear на bsSolid.
Если же нужно заливать не фигуру, а как Paint в указанной точке, то используй координаты этой точки в FloodFill.
Ещё можешь например для прямоугольника (Rectangle) посчитать координаты его центра и туда "ткнуть" FloodFill, но если под прямоугольником уже было что-то нарисовано, то FloodFill может не залить полностью весь прямоугольник.
Цитата:
Сообщение от std25
Выбрать фигуру,выбрать цвет и затем ее залить.
я не могу понять как в заливку типа

begin
with Image1.Canvas do begin
brush.color:=clRed;
floodfill(10,10,pixels[10,10],fsSurFace);
end;

можно передать мои 4 координаты x,y,x1,y1 и как подключить к ней ColorDiolog
ColorDialog1 используется так:
Код:
  if ColorDialog1.Execute then
  begin
    ShowMessage('Выбрали цвет '+IntToHex(ColorDialog1.Color));
  end;
Ответить с цитированием
  #3  
Старый 05.12.2012, 10:57
std25 std25 вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 6
Репутация: 10
По умолчанию

спасибо большое)))очень помогли))))
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter