Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Drawing (вопрос общего характера)   Найти похожие ветки 

 
TButton ©   (2005-10-10 12:08) [0]

Есть у меня програмка
в некотором роде автоматизирующая процесс преобразования
данных полученых в результате геодезических изысканий
в наглядную форму
т.е. чертеж

програмка более-менее сносно ладит с принтером
(т.е. если правильно указать размер бумаги
получается правдоподобный масштабированый чертеж)


програмка имеет собственный формат для хранения рабочих чертежей
(т.е. можно забить часть данных сегодня,
сохраниться и продолжить завтра)

а вот с внешним обменным форматом напряг
почему?
во-первых я не очень знаком с векторными графическими форматами
(т.е. в принципе я могу сохранять версию для печать в БМП,
но это не совсем удовлетворяет моим требованиям
см. ниже)

во-вторых... потерял мысль
ладно может быть потом вспомню

необходимость внешнего обменного формата
возникла, в связи с тем, что принтера бывает не бывает

в связи с этим к обменному формату возникают следующие требования
* компактность (файл должен влезать на дискетку 1.38 Мб)
* доступность (т.е. чтоб можно было придти в ателье и отпечатать у них на компе)
* способность сохранять масштаб, т.е. если я хочу чтоб линия на чертеже была длинной два см она должна быть 2 см и на отпечатке сделаном на другой машине (на которой нет моей проги)

вот собственно и все.

если есть мысли и предложения по этому поводу
буду рад их услышать


 
GuAV ©   (2005-10-10 17:54) [1]

Можно использовать Enhanced Metafiles, в Delphi это TMetafile и TMetafileCanvas.

Оч. просто: создаёшь TMetafile, задаешь размер MMWidth/MMHeight (in 0.01 millimeter units), или
Width/Height (в пискелях), их соотношение Inch. Затем создаёшь TMetafileCanvas для этого метафайла, и рисуешь как на обычной канве, уничтожаешь TMetafileCanvas и сохраняешь TMetafile. Всё.


 
TButton ©   (2005-10-11 01:03) [2]

хм... попробуем.


 
GanibalLector ©   (2005-10-12 02:02) [3]

2 GuAV ©   (10.10.05 17:54) [1]
Да,создаем нужный размер ( MMWidth/MMHeight),а вот дальше прийдеться использовать,например  MoveTo или LineTo в TMetafileCanvas. А вот ему уже не скажешь нарисуй линию длинной 2см. Прийдется высчитывать... Муторно все это :(

З.Ы.Кстати,  GuAV, предположим создал я некое изображение при помощи  TMetafile и TMetafileCanvas.Предположим как и в [0] нужной мне длинны. А вот дальше я хочу вставить его например в TImage. Но не просто вставить,а уменьшить и вставить. Т.е. размеры TImage строго определены !!! Как пропорционально уменьшить изображение в  TMetafile ???


 
GuAV ©   (2005-10-12 02:28) [4]


> Прийдется высчитывать... Муторно все это :(

Ну а что делать.. зато общий подход к рисованию на чём угодно, те же gdi функции и соответсвтенно то же TCanvas..  на принтере тоже через TCanvas рисуют, нет ?


> Т.е. размеры TImage строго определены !!! Как
> пропорционально уменьшить изображение в  TMetafile ???

Image1.Sretch := True;
Image1.Proportional := True //(м.б. False по вкусу)
Image1.Picture.Metafile := MF; // на самом деле создаётся копия MF, исходный MF можно освобождать.



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

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.039 c
4-1125411791
Barvetal
2005-08-30 18:23
2005.11.06
Есть ли стандартный COM-сервер(LOCAL!) для открытия url?


5-1089284149
Tormoz
2004-07-08 14:55
2005.11.06
Не сохраняется свойство компонента


4-1125582840
Пантелеев Иван
2005-09-01 17:54
2005.11.06
Focus


14-1129388870
Piter
2005-10-15 19:07
2005.11.06
Вопрос по FireFox


2-1129215799
Fast2
2005-10-13 19:03
2005.11.06
Почему при выполнении пишет Transaction is active ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский