|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.07.2015, 14:50 | #1 |
Пользователь
Регистрация: 31.07.2012
Сообщений: 15
|
Как сделать объект растягиваемым?
Всем привет!
Я не силен в программировании, и сделал необычную программу для проведения собственных исследований. Суть простая: в окне отрисовывается спираль, само окно прозрачное. Нужно сделать пару вещей: 1. Чтобы объект, т.е. спираль был растягиваемым в горизонтальном или вертикальном направлении, по аналогии с трансформацией в фотошопе. Растягивать можно, изменяя окно, или выделив объект щелчком мыши. Как это реализовать я не знаю. 2. Изменить толщину линий. Не судите строго) Буду рад за любую помощь) Вот листинг: Код:
Серьезное лицо - это еще не признак ума
|
14.07.2015, 16:44 | #2 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Переменные нужно объявлять или локально в процедуре или как поле класса (при необходимости).
Рисование всегда лучше выводить в отдельную процедуру. гм... Ну про первое - варианта два: либо рисовать на битмапе и включить растягивание, тогда сама картинка будет исходного размера, но растянуто. Или рисовать на самом окне векторно, с учётом размеров клиентской области. Смотря что именно нужно... А про второе - во-первых не следует использовать Pixels[x,y] никогда вообще никогда, а во-вторых графики всегда рисуйте линиями (и им можно задавать толщину): Код:
Последний раз редактировалось ResourceSpace; 14.07.2015 в 21:03. Причина: мелкие правки |
14.07.2015, 17:27 | #3 |
Пользователь
Регистрация: 31.07.2012
Сообщений: 15
|
Спасиииибо!
Такой вариант мне гораздо больше нравится! Попробую разобраться с растягиванием. Если будут вопросы, может еще побеспокою, с Вашего позволения)
Серьезное лицо - это еще не признак ума
|
14.07.2015, 19:58 | #4 |
Пользователь
Регистрация: 31.07.2012
Сообщений: 15
|
А можно просто сделать следующим образом?
1. TImage1 подгоняется под размер клиентской области, а нарисованная в ней спираль масштабируется под TImage? Таким образом, при изменении размеров окна спираль будет "сжиматься", подгоняясь под размер окна? У меня на харде 60 часов лекций по Delphi, потихоньку изучаю, но добить бы этот код поскорей((( мне бы это помогло в моих исследованиях. Я изучаю трейдинг на форексе, и разрабатываю расширенную систему на базе КАФ (Комплексного анализа Фибоначчи), с применением дополнительных визуальных инструментов, недоступных в стандартном терминале Metatrader 4. Последнее что мне осталось добить на данном этапе - это свойство растяжения.
Серьезное лицо - это еще не признак ума
|
14.07.2015, 21:02 | #5 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
Этого можно добиться и рисуя на окне, просто масштаб правильно рассчитать. Я же не знаю что именно нужно - сколько витков, как именно вмещаться, что делать если W>H (и наоборот).
А для того, чтобы TImage подгонялось под размер нужно или в его свойствах или программно задать:
Код:
Я ещё пару строк поменял в предыдущем сообщении, мелкие правки. |
14.07.2015, 22:14 | #6 |
Пользователь
Регистрация: 31.07.2012
Сообщений: 15
|
Опа!
Щикарно! То что надо. Если интересует тема трейдинга - всегда пожалуйста!
Серьезное лицо - это еще не признак ума
|
15.07.2015, 08:55 | #7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
1. Никогда... нет, не так... НИКОГДА !!!! ничего не рисуй на TImage!!! И не спрашивай почему!!!
2. Покажи скриншот спирали. 3. Что означают у тебя все эти коэффициенты типа Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
15.07.2015, 11:07 | #8 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
А к какому параметру (каким параметрам) спирали привязать соотношение сторон прямоугольника отрисовки?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
15.07.2015, 12:26 | #9 |
Пользователь
Регистрация: 31.07.2012
Сообщений: 15
|
Всем привет! Спасибо за помощь, рад видеть столько откликов. Попробую объяснить суть подхода, и все ключевые моменты.
Данный метод построения представлен в книге Р. Фишера "New_methods_of_trade_on_Fibonachch i". Она переведена на русский язык. Это частный случай логарифмической спирали с применением соотношений Фибоначчи. Расстояние от предыдущего витка равно 0.618 расстояния до следующего. А расстояние до следующего равно 0.618 от расстояния между предыдущим и последующим. Схематично я представил это на картинке: Это не "золотая спираль", в которой используется тот же принцип, но по-другому. Также, используется принцип "растяжения": Необходимость данного подхода объясняется тем, что графики торговых инструментов сами масштабируются по соотношению "цена-время", но не буду засорять этим ветку. Если кому-то будет интересно, подскажу, что где найти и т.д. Ближе всего к этой теме КАФ: cfa-forex.livejournal.com В принципе, на данном этапе я близок к тому, что хотел видеть. Delphi знаю на начальном уровне, код отрисовки взял из другой статьи. Наверное, есть более эффективные способы выполнения данной задачи, с возможностью изменения параметров на уровне приложения, а не кода. В любом случае, спасибо за Ваши подсказки!
Серьезное лицо - это еще не признак ума
|
15.07.2015, 12:35 | #10 |
Старожил
Регистрация: 19.06.2013
Сообщений: 2,463
|
И это всё?
А на каких площадках вы торгуете? Ваши рекомендации по инвестициям на год. Даже Лившиц говорил:"Надо делиться". Голубые фишки через десять лет, это какие компании? Где прикупить золотых динаров и юаней?
Репутация: полный "0"
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так, чтобы при наведении мышкой на объект, который находится под другим, этот объект выходил на первый план? | Zaza7 | HTML и CSS | 3 | 17.01.2013 10:23 |
как сделать что бы объект не выходил за пределы формы | artem_degtev | Помощь студентам | 3 | 18.12.2011 00:11 |
С++ Builder. БД как объект | pasha_hoy | C++ Builder | 0 | 17.01.2011 09:15 |
Компонент как 3D объект | AsmodElial | Мультимедиа в Delphi | 1 | 19.09.2009 12:12 |
Народ,помогите пожалуйста.Объект и иерархию не могу сделать | KirILLA90 | Помощь студентам | 1 | 18.12.2008 20:09 |