Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c