Hallo,
das ist eine coole idee. Mit ein paar Zeilen code kann man schon einiges erreichen:
Code:
procedure TForm6.Button3Click(Sender: TObject);
var meta : TMetafile;
can : TMetafileCanvas;
begin
meta := TMetafile.Create;
can := TMetafileCanvas.Create(meta, 0);
try
Self.PaintTo(can.Handle, 0,0);
finally
can.Free;
end;
meta.SaveToFile('s:\out.emf');
meta.Free;
end;
Alle Panels werden bei mir als bitmaps ausgegeben, nicht als gefüllte Rechtecke. Evtl kann man dies abfangen oder die gleichfarbigen Bilder später erkennen und in entsprechende FillRects wandeln.
EMF ist natürlich nicht so schön wie SVG, aber skaliert auch.