Hallo miteinander!
Ich möchte ein Metafile als Zwischenspeicher für eine Gruppe von Zeichenoperationen verwenden. Mein Ansatz:
Delphi-Quellcode:
procedure Test;
var
m: TMetafile;
mc: TMetafileCanvas;
begin
m := TMetafile.Create;
try
m.SetSize(1000, 1000); {AAA}
mc := TMetafileCanvas.Create(m, 0);
try
mc.Ellipse(10, 10, 990, 990);
mc.Rectangle(500, 500, 1100, 1100);
finally
mc.Free;
end;
m.SaveToFile('Test.emf');
finally
m.Free;
end;
end;
Dummerweise weiß ich aber erst während des Zeichnens, welche Elemente ich zeichnen will und welche Größe ich dafür brauche, kann also an der Stelle
{AAA}
noch nicht die endgültige Größe angeben. Dummerweise ist es nachher zu spät: Nach Anlegen des Canvas kann ich das SetSize hinsetzen, wo ich will - die Wirkung wird entweder durch
mc.Free
rückgängig gemacht oder ist zwar in
m.Width
/
m.Height
zu erkennen, kommt aber nicht im EMF auf der Platte an.
Habt ihr eine Idee für mich?