Главная страница
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.48 MB
Время: 0.047 c
14-1129699679
Ega23
2005-10-19 09:27
2005.11.06
С днем рождения! 19 октября


2-1129391518
DimaDima
2005-10-15 19:51
2005.11.06
к массивам по индексам в их имени


2-1129544845
lodir
2005-10-17 14:27
2005.11.06
поворот массива


4-1125735904
dak565656
2005-09-03 12:25
2005.11.06
Программирование PCI


4-1125559948
Vcoder
2005-09-01 11:32
2005.11.06
Как получить Caption окна?