Где я могу найти документацию и / или примеры работы с TMetafile и TMetafileCanvas?

StackOverflow https://stackoverflow.com/questions/465911

  •  19-08-2019
  •  | 
  •  

Вопрос

Поскольку я работаю над добавлением пользовательской печати в свое приложение, я остановился на использовании 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 использует метафайлы под капотом для создания предварительного просмотра и отправки на принтер. Если у вас есть источник для этого, это может быть полезно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top