Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
vvvvvv@ro.ru
0 / 0 / 0
Регистрация: 13.07.2010
Сообщений: 25
#1

Заливка эллипса по периметру снаружи. - Delphi

20.09.2010, 17:36. Просмотров 1443. Ответов 7
Метки нет (Все метки)

Здравствуйте все.
Хочу ещё раз поблагодарить модератора с ником Puporev. Восхищён вашими решениями моих вопросов. Это была торжественная часть текста.
Теперь спрошу: Можно ли сделать так, что бы на CANVAS заливать замкнутую фигуру снаружи, а не внутри её периметра. Например залить белым окружность снаружи, не трогая внутри, что бы оставалась возможность чертить что-либо внутри окружности и обрезать изображение снаружи окружности. Описал свой вопрос довольно коряво, но по другому сформулировать как-то не получается. Если это глупость , так и ответьте, не обижусь. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2010, 17:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заливка эллипса по периметру снаружи. (Delphi):

как на построенном треугольнике в IMAGE,подсчитать количество точек,находящихся снаружи треугольника? - Delphi
Ребят как на построенном треугольнике в IMAGE,подсчитать количество точек,находящихся снаружи треугольника?Чтобы вывел эти точки на...

Передвижение кнопки по периметру формы - Delphi
Помогите создать программку, чтобы кнопка по форме перемещалась на рандомное кол-во точек и по периметру при нажатии на неё, заранее спасибо

Нарисовать на поверхности формы по её периметру прямоугольник - Delphi
Создайте приложение, на форму которого помещен компонент Button. Напишите обработчик события OnClick компонента Button, который рисует на...

Заполнить нулями элементы, расположенные по периметру - Delphi
Дан двумерный массив размерности 10х10. Заполнить его случайными числами на отрезке . Заполнить нулями элементы, расположенные...

Графика, по периметру квадрата движется окружность - Delphi
Помогите пожалуйста, с объяснением. На пространстве формы изображен квадрат размером 250х250. По часовой стрелке по периметру движется...

Заливка по периметру снаружи timage - Delphi
Доброго времени суток. Подскажите как сделать заливку на компоненте image вокруг по периметру фигуры(прямоугольника) в поиске не...

7
Puporev
Модератор
52840 / 40651 / 13898
Регистрация: 18.05.2008
Сообщений: 94,350
20.09.2010, 18:30 #2
vvvvvv@ro.ru, Нарисуйте это и изображение приложите к теме.

Добавлено через 1 минуту
Цитата Сообщение от vvvvvv@ro.ru Посмотреть сообщение
Например залить белым окружность снаружи, не трогая внутри
Сделайте фон белым, а круг другим цветом.
0
vvvvvv@ro.ru
0 / 0 / 0
Регистрация: 13.07.2010
Сообщений: 25
20.09.2010, 22:00  [ТС] #3
Дело в том, что внутри круга планируются различные фигуры, и писать алгоритм (обрезания) для каждой мне кажется неоправданно трудоёмким процессом, собственно поэтому и пытаюсь найти такое решение, как (обрезку) лишних кусков за пределами фигуры. Вот например картинка:
0
Миниатюры
Заливка эллипса по периметру снаружи.  
Puporev
Модератор
52840 / 40651 / 13898
Регистрация: 18.05.2008
Сообщений: 94,350
20.09.2010, 22:39 #4
vvvvvv@ro.ru, Рисуете на белом фоне синий полукруг и прямоугольник, а потом все что на них накладывается. Каждый последующий рисунок перекрывает предыдущий.
0
Puporev
Модератор
52840 / 40651 / 13898
Регистрация: 18.05.2008
Сообщений: 94,350
20.09.2010, 22:49 #5
Вот простенький пример такого окна.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
begin
with canvas do
 begin
  brush.Color:=clblue;
  pen.color:=clblue;
  ellipse(150,50,350,250);
  pen.Width:=5;
  pen.Color:=clblack;
  ellipse(150,50,350,250);
  brush.Color:=clblue;
  pen.color:=clblue;
  rectangle(150,150,350,350);
  pen.Width:=5;
  pen.Color:=clblack;
  rectangle(150,150,350,350);
  moveto(250,150);
  lineto(250,350);
  moveto(150,250);
  lineto(350,250);
 end;
end;
1
Вложения
Тип файла: rar 1111.rar (3.0 Кб, 20 просмотров)
vvvvvv@ro.ru
0 / 0 / 0
Регистрация: 13.07.2010
Сообщений: 25
20.09.2010, 23:04  [ТС] #6
Прекрасно, это я умею и понимаю, но мне нужно размещать в арочной части эскиза рещётки разных видов. При всём этом ширина и высота картинки вводится пользователем а поля EDIT1, EDIT2, и решётки должны перемещаться пропорционально изменяющимся размерам эллипса, оставаясь внутри него, не вылезая наружу и обрезаясь точно по границе эллипса. Извините, я скорей всего достал вас.
Уж не взыщите.
0
Puporev
Модератор
52840 / 40651 / 13898
Регистрация: 18.05.2008
Сообщений: 94,350
20.09.2010, 23:07 #7
Так как рисовать линии в эллипсе, чтобы они точно были на месте я уже показывал, это чистейшая математика. А рисовать нужно от нижних слоев к верхним, линии в последнюю очередь. Иногда линии приходится рисовать и 2 раза на одном месте.
1
vvvvvv@ro.ru
0 / 0 / 0
Регистрация: 13.07.2010
Сообщений: 25
20.09.2010, 23:24  [ТС] #8
Благодарю, я с вашим примером уже работаю, он немного не срастается с моим рисунком, но раз нет способа попроще , буду пользоваться этим способом. Вам мои благодарности., до свидания.
0
20.09.2010, 23:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2010, 23:24
Привет! Вот еще темы с ответами:

Как узнать, лежит ли точка внутри эллипса или снаружи? - Геометрия
Как узнать лежить точка внутри эллипса или снаружи. Например имеем эллипс 8*x^2 + 5*y^5 = 77. Как определить, что точка (-2; 3) - лежит на...

Как создать эллипс на Canvas зная XY середины эллипса и R радиус эллипса - C# WPF
Как создать эллипс на Canvas зная XY середины эллипса и R эллипса

Заливка картинки, а потом заливка заливки и прочее - HTML, CSS
В общем требуется вот что: Единственное, что у меня получилось сделать - черную заливку поверх изображения. Но проблема еще в том, что...

Объект снаружи рамки окна - C# WPF
Собственно, какая задача. Хочу сделать объект снаружи рамки. Чтобы было само окно и сбоку от него какой-нибудь объект, какие-нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.