![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.09.2007
Сообщений: 70
|
![]()
Всем доброго времени суток! помогите плиз,есть рисунок две окружности одна в одной и каждая из окружностей разбита на сектора,как сделать чтобы делая клик по одному из секторов он выделялся определённым цветом?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,827
|
![]()
перебрать все пиксели в данной области и перекрасить их. два цикла надо. т.к. у тебя область круглая, то лучше использовать полярные координаты: x =r *cos(alpha) и y=r*sin(alpha).
например, так: Код:
вся окружность - от 0 до 360 верхняя половина - от 0 до 180 нижняя половина - от 180 до 360 левая половина - от 90 до 270 правая половина - от 270 до 360 и от 360 до 90. и будет ещё одна проверка - на какой области твоя мышка. её координаты узнаешь так: Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 05.09.2011 в 00:02. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.05.2010
Сообщений: 82
|
![]()
Проще использовать Canvas.FloodFill (или API-шную функцию ExtFloodFill)
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.09.2007
Сообщений: 70
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 28.05.2010
Сообщений: 82
|
![]()
procedure TCanvas.FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
Эта функция закрашивает произвольную замкнутую область. Аргументы X и Y задают координаты точки внутри области. FillStyle определяет, как её заливать: если FillStyle = fsSurface, то точки принадлежат заливаемой области, если они имеют цвет Color; если FillStyle = fsBorder, то точки, имеющие цвет Color, считаются принадлежащими границе области. Пример: Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Графика | plm | Общие вопросы по программированию, компьютерный форум | 0 | 18.01.2011 19:07 |
Графика | Kravec | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 23.07.2010 11:26 |
C# - Графика | Gantz | Помощь студентам | 1 | 10.06.2010 11:16 |
графика в С# | Mclaren | Помощь студентам | 4 | 05.03.2010 10:17 |