var
Metafile: TMetafile;
Canvas: TMetafileCanvas;
begin
Metafile := TMetafile.Create;
try
Canvas := TMetafileCanvas.Create(Metafile, 0);
try
with Canvas do
begin
Brush.Color := clRed;
Ellipse(0, 0, 100, 100);
end;
finally
Canvas.Free;
end;
Form.Canvas.Draw(0, 0, Metafile);
finally
Metafile.Free;
end;
end;
вЕКТОРНЫЙ фОРМАТ
Можно ли в Delphi сохранить то, что нарисовано на конве в файл с векторным форматом?
Цитата:
Originally posted by neutrino4
Можно ли в Delphi сохранить то, что нарисовано на конве в файл с векторным форматом?
Можно ли в Delphi сохранить то, что нарисовано на конве в файл с векторным форматом?
Рисовать на канве TMetafile.
Цитата:
Originally posted by smartsoft
Рисовать на канве TMetafile.
Рисовать на канве TMetafile.
Не очень понял, что Вы имели в виду. Вопрос был в том, как графическую информацию с канвы, скажем, формы сохранить на диск в векторном формате.
Т.е. делаю я на форме что-то вроде:
Form1.Canvas.MoveTo(10,10);
Form1.Canvas.LineTo(100,135);
а потом этот отрезок надо записать в файл. И как это сделать с помощью TMetafile?
Или может это по-другому делается, например, сначала все рисуется на TMetafile, а потом содержимое TMetafile выводится на обычную канву?
Но никаких методов для рисования в TMetafile я не нашел.
Не могли бы Вы привести пример?
Цитата:
Originally posted by neutrino4
Но никаких методов для рисования в TMetafile я не нашел.
Не могли бы Вы привести пример?
Но никаких методов для рисования в TMetafile я не нашел.
Не могли бы Вы привести пример?
Если хорошо поискать в хелпе, можно найти. Мой код во многом повторяет пример Борланда:
Код:
Ага, ясно. Спасибо за пример. А вообще, emf - это разве векторный формат? На сколько я понял, это всего лишь команды GDI.
Цитата:
Originally posted by neutrino4
Ага, ясно. Спасибо за пример. А вообще, emf - это разве векторный формат? На сколько я понял, это всего лишь команды GDI.
Ага, ясно. Спасибо за пример. А вообще, emf - это разве векторный формат? На сколько я понял, это всего лишь команды GDI.
Естественно. Команды GDI играют роль примитивов ;)