¿Dónde puedo encontrar documentación y / o ejemplos de trabajo con TMetafile y TMetafileCanvas?

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

  •  19-08-2019
  •  | 
  •  

Pregunta

Mientras estoy trabajando para agregar una impresión personalizada a mi aplicación, me decidí a usar TMetafile para crear las páginas, luego lo utilicé para previsualizar & amp; / o imprimir, pero encuentro que falta la documentación.

¿Existen buenos recursos para aprender los entresijos de trabajar con TMetafile y TMetafileCanvas?

¿Fue útil?

Solución

Los entresijos de trabajar con TMetaFile / Canvas están más relacionados con los metaarchivos que con las implementaciones de TMetaFile y TMetaFileCanvas desde mi experiencia traumática de trabajar con él. También debería buscar información sobre cómo funciona EMF (o WMF). La implementación de Delphi simplemente llama a Windows para hacer todo como lo entiendo.

Es posible que desee ser más específico sobre lo que necesita saber, más allá de una guía paso a paso sobre cómo hacerlo.

Otros consejos

En realidad es más simple de lo que piensas ...

aquí hay algo de mi código:

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;

Para copiar el metarchivo en el portapapeles:

Clipboard.Assign(m);

Para guardar en un archivo emf:

m.SaveToFile(filename);

Lo he usado para imprimir un metarchivo en un informe rápido.

No lo he investigado mucho, pero sé que el código de QuickReports utiliza metarchivos debajo del capó para crear la vista previa de impresión y enviarla a la impresora. Si tiene la fuente para eso, puede ser útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top