Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Bitmap mit bestimmter DPI erstellen

  Alt 19. Mai 2009, 10:17
So nach lagem hin und her und herrumprobieren, habe ich eine lösung gefunden mit der ich zwar nicht ganz zufrieden bin.
Ich habe mein halbes Programm umgestrickt damit es klappt, ich rechne jetzt überall immer selbst die 1/10 mm in Pixel um.

D.h. ich erstelle mein Bitmap mit 18x12,5cm was 4252x2953 Pixeln entspricht. Und zeichne ich eine Linie so sähe das wie folgt aus.

Delphi-Quellcode:
with Bitmap.Canvas do begin
  LineTo(fMmToPx(0, 600), fMmToPx(10, 600));
  MoveTo(fMmToPx(100, 600), fMmToPx(10, 600));
end;
Die funktion fMmToPx():

Delphi-Quellcode:
function fMmToPx(mm, DPI: Integer) : Integer;
begin
  result := Round(((mm / 100) * DPI) / 2.54);
end;
So das ganze klappt jetzt auch soweit, jedoch ist die Grafik noch sehr pixelig, bzw. linien sind nachher je nach Zoom im PDF Reader
nicht sichtbar. Lasse ich das PDF wie früher über einen PDF Drucker erstellen, kommen die linien stärker durch und auch die Texte
sind nicht mehr pixelig.

Ich habe gelesen das ein Bitmap wenn es einem Report übergeben wird als JPEG umgewandelt wird, läßt sich da irgendwas beeinflussen
in Ritung AntiAliasing !?

Oder gibt es irgendwie direkt eine möglichkeit auf einem Report zur Laufzeit zu zeichnen?
  Mit Zitat antworten Zitat