Где я могу найти документацию и / или примеры работы с TMetafile и TMetafileCanvas?
Вопрос
Поскольку я работаю над добавлением пользовательской печати в свое приложение, я остановился на использовании TMetafile для создания страниц, а затем на предварительном просмотре & и / или печати, но мне не хватает документации . р>
Есть ли полезные ресурсы для изучения тонкостей работы с TMetafile и TMetafileCanvas?
Решение
Все тонкости работы с TMetaFile / Canvas больше связаны с метафайлами, чем с реализациями TMetaFile и TMetaFileCanvas из моего травмирующего опыта работы с ним. Ака, вы должны искать информацию о том, как работает EMF (или WMF). Реализация Delphi просто вызывает Windows, чтобы сделать все, как я понимаю.
Возможно, вы захотите конкретизировать, что именно вам нужно знать, не считая пошагового руководства о том, как это сделать.
Другие советы
Это на самом деле проще, чем вы думаете ...
вот мой код:
var
m: TMetafile;
mc: TMetafileCanvas;
begin
m := TMetafile.Create;
m.Width := 1000;
m.Height := 1000;
mc := TMetafileCanvas.Create(m, 0);
//use mc just like any canvas...
mc.Free;
// you can use m for anything you want, preview, print, save ...etc.
end;
Чтобы скопировать метафайл в буфер обмена:
Clipboard.Assign(m);
Сохранить в файл emf:
m.SaveToFile(filename);
Я использовал это для печати метафайла в быстром отчете.
Я сам не особо разбирался в этом, но я знаю, что код QuickReports использует метафайлы под капотом для создания предварительного просмотра и отправки на принтер. Если у вас есть источник для этого, это может быть полезно.