Einzelnen Beitrag anzeigen

Jelen

Registriert seit: 5. Nov 2003
45 Beiträge
 
#1

Zeichnungsgröße in Metafile fällt je Rechner anders aus?!

  Alt 3. Mär 2010, 20:47
Hallo,
an diesem Problem knabbere ich nun schon lange:

Meine Anwendung soll die Bildschirmausgabe in eine wmf-Datei exportieren.
Auf Rechner 1 läuft's, auf Rechner 2 stimmt zwar die Größe des Metafile noch, aber die Grafik darin ist deutlich größer.
Beide Rechner sind Win XP SP2.

Ich hab das Problem auf ein Mini-Beispiel reduziert:

Delphi-Quellcode:
procedure TForm1.MetafileBtnClick(Sender: TObject);
 var i: integer;
     Pict: TPicture;
     mfc: TMetafileCanvas;
 begin
  Pict := TPicture.Create;
  Pict.Metafile.MMWidth := 21000;
  Pict.Metafile.MMHeight := 29700;
  Pict.Metafile.Inch := 1440;
  mfc := TMetafileCanvas.Create(Pict.Metafile,0);

   { ab hier wird eine Beispielzeichnung ausgegeben }
  mfc.Brush.Color := clRed;
  mfc.Ellipse(300,300,400,600);
  mfc.Brush.Color := clWhite;
  mfc.Font.Name := 'Arial';
  mfc.Font.Height := -20;
  for i := 1 to 10
  do mfc.TextOut(50,i*50,'Text auf (50,'+IntToStr(i*50)+')');
  mfc.Font.Name := 'Courier New';
  mfc.Font.Size := 15;
  for i := 1 to 10
  do mfc.TextOut(500,i*50,'Text auf (500,'+IntToStr(i*50)+')');
  mfc.TextOut(50,600,'Inch='+IntToStr(Pict.Metafile.Inch));
   { Ende Beispielzeichnung }

  mfc.Free;
  Pict.Metafile.SaveToFile('MFTest.wmf');
  Pict.Free;
 end;
Ich hab' sowohl mit dem Parameter Inch als auch mit dem Gerätekontext-Handle in TMetafileCanvas.Create experimentiert - ohne Erfolg.

Hat jemand eine Idee?

Anbei das Projekt sowie die beiden unterschiedlichen WMF's.
Angehängte Dateien
Dateityp: zip metafile_171.zip (5,7 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat