Hi,
ich hab gerade ein großes Problem mit beim Erzeugen von einem Metafile. Bis jetzt war meine Methode sehr erfolgreich, aber jetzt kommt ein Anwender mit einem Notebook mit einem Widescreen TFT das eine Auflösung von 1280×800 hat daher und der Text sieht grausam aus. Also die Buchstaben sind zu breit, und der Abstand zwischen den Buchstaben ist zu gering.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
MF : TMetafile;
MC : TMetafileCanvas;
begin
MF := TMetafile.Create;
MF.Width := 600;
MF.Height := 460;
MC := TMetafileCanvas.Create(MF, 0);
with MC do
begin
Font.Name := 'Arial';
Font.Height := 40;
TextOut(10,10,'Dies ist ein Text auf einem Metafile');
end;
MC.Free;
Image1.Picture.Bitmap.PixelFormat := pf24bit;
Image1.Picture.Bitmap.Width := 600;
Image1.Picture.Bitmap.Height := 460;
Image1.Picture.Bitmap.Canvas.StretchDraw(Rect(0,0,600,460), MF);
MF.Free;
end;
Als Anhang habe ich einen Screenshot angehängt, der entsteht, wenn man als Bildschirmauflösung 2309×399 einstellt (geht ja mit VmWare so schön). Das ist jetzt zwar eher der Extremfall, aber das verdeutlicht das Problem dann doch ganz gut.
Ich hoffe ihr könnt mir helfen...