Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Вниз

Масштабирование с соблюдением расстояний между объектами   Найти похожие ветки 

 
Hamyachok   (2009-08-10 11:59) [0]

Здравствуйте, мастера!
Пытаюсь разработать программу проектирования чертежей. Возникла проблема. Не могу придумать алгоритм масштабирования, чтоб соблюдались все пропорции(размер и расстояние). Все распологается на ScrollBox, а объекты - TShape.
Пробовал увеличивать все объекты на определенный коэффициент, а после этого распологать относительно верхнего-левого угла главного помещения. Но возникло 2-е проблемы:
1. Масштаб был только (1:1, 1:2, 1:4, 1:8) - это батва!!!
2. При добавлении на чертеж новых комнат, проблема - если конта слева от центральной.
Подскажите, может у кого-то есть идеи, без этого дальнейшая разработка бессмысленна!?!?!?!?!


 
Jeer ©   (2009-08-10 12:35) [1]


> дальнейшая разработка бессмысленна


С такими знаниями она изначально бессмысленна.

P.S.
CAD-ы работают с векторной графикой и числами в плавающем формате.


 
Сергей М. ©   (2009-08-10 12:41) [2]


> 1. Масштаб был только (1:1, 1:2, 1:4, 1:8) - это батва


Копать надо)


 
KilkennyCat ©   (2009-08-10 12:44) [3]


> Подскажите, может у кого-то есть идеи

есть идея заплатить программистам. Можно мне ;)


 
Hamyachok   (2009-08-10 12:51) [4]


> С такими знаниями она изначально бессмысленна.

обнадежил

Рассматривал разные пути:
1. Если увеличивать все объекты в зависимости от задонного коэфициента, все получается неплохо, но опять возникает проблема расположения, да и в размерах тоже, может быть несовпадение.
2. Есть мысль. Может быть сами объекты не трогать.
Я видел процедуру, с помощью которой масштабируют форму со всеми лежащими на ней объектами в зависимости от расширения экрана.
Как вам такой вариант???
P.S. сейчас найду, напишу.


 
Hamyachok   (2009-08-10 12:53) [5]

вот процедура о которой я говорил:

procedure AdjustResolution(oForm:TForm);
var
 iPercentage:integer;
begin
 if Screen.Width > 640 then
   begin
     iPercentage:=Round(((Screen.Width-640)/640)*100)+100;
     oForm.ScaleBy(iPercentage,100);
   end;
end;


 
Hamyachok   (2009-08-10 12:55) [6]


> есть идея заплатить программистам. Можно мне ;)

Это называется совет мастера - начинающему?!?!?!?!?!?!


 
Kolan ©   (2009-08-10 12:56) [7]

О, Венгерская нотация.


 
Anatoly Podgoretsky ©   (2009-08-10 13:18) [8]

> Сергей М.  (10.08.2009 12:41:02)  [2]

Намек на лопату?


 
Anatoly Podgoretsky ©   (2009-08-10 13:19) [9]

> Hamyachok  (10.08.2009 12:51:04)  [4]

Не надо, не трать усилий.


 
Hamyachok   (2009-08-10 13:35) [10]


> Не надо, не трать усилий.


А что тогда делать?


 
Kolan ©   (2009-08-10 13:45) [11]

Начните с изучения аналогичных программ.

Из этого анализа вы поймете какие технологии вам надо изучить, для того, чтобы сделать подобную программу.

Получите нужные знания (именно их вам сейчас не хватает).

После этого можно переходит к проектированию системы.


 
KilkennyCat ©   (2009-08-10 13:47) [12]


>
> Это называется совет мастера - начинающему?!?!?!?!?!?!

А как ты хотел? Ты замахнулся на сложный проект. Тут можно посоветовать всего две вещи:
1) Учить
2) Заплатить
первый вариант тебе уже направили:
> Jeer © (10.08.09 12:35) [1]
> CAD-ы работают с векторной графикой и числами в плавающем
> формате.

второй я тож предложил.

И путать советы с халявной разработкой нехилого проекта не надо.


 
Jeer ©   (2009-08-10 18:19) [13]


> Пытаюсь разработать программу проектирования чертежей


А как можно чертеж проектировать ? Загадка для меня.
Чертить, рисовать.. - это понятно, но проектировать чертеж ?


> > дальнейшая разработка бессмысленна



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
6-1207556901
bokl
2008-04-07 12:28
2009.10.11
Перехват трафика


2-1249776063
D@sha
2009-08-09 04:01
2009.10.11
DBgrid присвоить значение столбцу


2-1249812910
Дмитрий
2009-08-09 14:15
2009.10.11
Рандомное слово


2-1249460930
Volga30
2009-08-05 12:28
2009.10.11
Смешать 2 цвета


2-1249815308
Кодер123456
2009-08-09 14:55
2009.10.11
Сортировка в текстовом файле





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский