С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
vvvvvv@ro.ru
0 / 0 / 1
Регистрация: 13.07.2010
Сообщений: 25
1

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

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

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

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

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

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

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

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

7
Puporev
Модератор
55496 / 42589 / 29437
Регистрация: 18.05.2008
Сообщений: 100,748
20.09.2010, 18:30 2
vvvvvv@ro.ru, Нарисуйте это и изображение приложите к теме.

Добавлено через 1 минуту
Цитата Сообщение от vvvvvv@ro.ru Посмотреть сообщение
Например залить белым окружность снаружи, не трогая внутри
Сделайте фон белым, а круг другим цветом.
0
vvvvvv@ro.ru
0 / 0 / 1
Регистрация: 13.07.2010
Сообщений: 25
20.09.2010, 22:00  [ТС] 3
Дело в том, что внутри круга планируются различные фигуры, и писать алгоритм (обрезания) для каждой мне кажется неоправданно трудоёмким процессом, собственно поэтому и пытаюсь найти такое решение, как (обрезку) лишних кусков за пределами фигуры. Вот например картинка:
0
Миниатюры
Заливка эллипса по периметру снаружи.  
Puporev
Модератор
55496 / 42589 / 29437
Регистрация: 18.05.2008
Сообщений: 100,748
20.09.2010, 22:39 4
vvvvvv@ro.ru, Рисуете на белом фоне синий полукруг и прямоугольник, а потом все что на них накладывается. Каждый последующий рисунок перекрывает предыдущий.
0
Puporev
Модератор
55496 / 42589 / 29437
Регистрация: 18.05.2008
Сообщений: 100,748
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 / 1
Регистрация: 13.07.2010
Сообщений: 25
20.09.2010, 23:04  [ТС] 6
Прекрасно, это я умею и понимаю, но мне нужно размещать в арочной части эскиза рещётки разных видов. При всём этом ширина и высота картинки вводится пользователем а поля EDIT1, EDIT2, и решётки должны перемещаться пропорционально изменяющимся размерам эллипса, оставаясь внутри него, не вылезая наружу и обрезаясь точно по границе эллипса. Извините, я скорей всего достал вас.
Уж не взыщите.
0
Puporev
Модератор
55496 / 42589 / 29437
Регистрация: 18.05.2008
Сообщений: 100,748
20.09.2010, 23:07 7
Так как рисовать линии в эллипсе, чтобы они точно были на месте я уже показывал, это чистейшая математика. А рисовать нужно от нижних слоев к верхним, линии в последнюю очередь. Иногда линии приходится рисовать и 2 раза на одном месте.
1
vvvvvv@ro.ru
0 / 0 / 1
Регистрация: 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

Заливка по периметру снаружи timage
Доброго времени суток. Подскажите как сделать заливку на компоненте image...

Как узнать, лежит ли точка внутри эллипса или снаружи?
Как узнать лежить точка внутри эллипса или снаружи. Например имеем эллипс 8*x^2...

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


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

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

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