Où puis-je trouver de la documentation et / ou des exemples d'utilisation de TMetafile et TMetafileCanvas?

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

  •  19-08-2019
  •  | 
  •  

Question

Alors que je travaille à ajouter une impression personnalisée à mon application, je me suis décidé à utiliser TMetafile pour créer les pages, puis à l'utiliser pour prévisualiser et imprimer, mais la documentation me manque.

Existe-t-il de bonnes ressources pour apprendre les bases du travail avec TMetafile et TMetafileCanvas?

Était-ce utile?

La solution

Les tenants et les aboutissants de l’utilisation de TMetaFile / Canvas sont davantage liés aux méta-fichiers qu’aux mises en œuvre de TMetaFile et TMetaFileCanvas de mon expérience traumatisante. Aka, vous devriez plutôt chercher des informations sur le fonctionnement de EMF (ou WMF). L’implémentation Delphi appelle simplement Windows pour tout faire comme je le comprends.

Vous voudrez peut-être préciser davantage ce que vous devez savoir, mais au-delà d'une présentation détaillée du guide.

Autres conseils

C'est en fait plus simple que vous ne le pensez ...

voici une partie de mon code:

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;

Pour copier le métafichier dans le Presse-papiers:

Clipboard.Assign(m);

Pour enregistrer dans un fichier emf:

m.SaveToFile(filename);

Je l'ai utilisé pour imprimer un métafichier dans un fastreport.

Je n'ai pas beaucoup étudié la question moi-même, mais je sais que le code QuickReports utilise des métafichiers sous le capot pour créer l'aperçu avant impression et l'envoyer à l'imprimante. Si vous en avez la source, cela peut être utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top