Hallo!
Ich möchte ein Metafile mit zugehörigem Canvas erzeugen in das dann verschiedene Painter-Klassen reinzeichnen können.
Die Painter exisieren bereits und kümmern sich im allgemeinen selbst um die Skalierung, sie lesen einfach die Auflösung des Canvas aus (mit GetDeviceCaps).
Blöderweise liefert ein Metafile-Canvas immer 96dpi (=Bildschirmauflösung) zurück, ich will aber on demand z.B. ein 150, 300 oder 600dpi Bild erzeugen können (je nach Datenmenge und Diagramm muss da ein wenig optimiert werden).
Folgender Test-Code liefert nichts sinnvolles:
Delphi-Quellcode:
mf:=TMetafile.Create;
mf.Inch:=300;
mf.SetSize(60,60);
mf.MMWidth:=10;
mf.MMHeight:=10;
mfc:=TMetafileCanvas.Create(mf,0);
Caption:=IntToStr(GetDeviceCaps(mfc.Handle, LOGPIXELSY));
HILFE!
Danke!