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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2007, 12:16   #1
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
Вопрос Нарисовать Ellipse по значениям из...

Здравствуйте, у меня проблема такого характера:
Есть 'Image1' на него с помощью мыши наносится точка, каждый раз при нанесении точки должен рисоватся круг/радиус вокруг этой точки (параметры которого взяты из таблицы (db), тоесть в этой таблице много объектов и у каждого из них есть свои значения). Короче я пытался сделать что-то вроде этого:

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
var r1,r2: integer;
begin
if CheckBox3.Checked then
begin
// красная точка
Image1.Canvas.Brush.Style:=bsClear;
Image1.Canvas.Pen.Color:=clRed;
Image1.Canvas.Pen.Width:=5;
Image1.Canvas.Ellipse(X-2,Y-2,X+2,Y+2);
Image1.Canvas.TextOut(X-8,Y-18,'ИШ');
RichEdit1.Lines.Add('- Источник шума ('+IntToStr(X)+';'+IntToStr(Y)+')') ; // координаты точки

// радиус размеры которого зависят от параметров выбранного объекта
r1:=Form3.Table1.FieldValues['Value1'];
r2:=Form3.Table1.FieldValues['Value2'];
Image1.Canvas.Pen.Width:=2;
Image1.Canvas.Ellipse...(что там дальше мне уже неизвестно)
end;
end;

Помогите PLZ!
Apollo_13 вне форума Ответить с цитированием
Старый 16.06.2007, 13:11   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Разве там не должно быть практически тоже самое, что и в первом случае: Image1.Canvas.Ellipse(x-r1, y-r2, x+r1, y+r2) ?
Jeni вне форума Ответить с цитированием
Старый 16.06.2007, 23:03   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

а помоему это у него два радиуса r1, r2
во первых по названию подходит, во вторых ему надо круг (радиус) зачем тогда ширину и высоту отдельно хранить
Тогда вопрос зачем их два?

Имея радиус, тебе нужно узнать стороны квадрата (первый класс вторая четверть), в который вписан круг с этим радиусом, и подставить координаты углов квадрата в функцию Ellipse
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.06.2007, 02:53   #4
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Разве там не должно быть практически тоже самое, что и в первом случае: Image1.Canvas.Ellipse(x-r1, y-r2, x+r1, y+r2) ?
Все работает спасибо!
Apollo_13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК нарисовать круг Elmut Общие вопросы Delphi 5 27.05.2008 14:54
Нарисовать круг Brunette Помощь студентам 2 17.05.2008 00:01
Нарисовать сферу vrs68 Помощь студентам 1 01.04.2008 23:44
Сортировка одной БД по значениям другой Кот из Лета БД в Delphi 4 28.12.2007 13:35
Нарисовать форму LeoN Общие вопросы Delphi 2 20.10.2007 15:01