Hartkern hat geschrieben:wie groß muss das Bitmap dann sein?
weil genau vor diesem Problem steh ich immer noch.
Ich weiß ja wie groß in echt A6, 5 ,4, SR4, 3, SR3 sind..
sprich Pixel pro mm? oder hol ich die mir über die Auflösung des Bildschirms?
Na wenn maßstabsgerecht auf dem Bildschirm ausgegeben werden soll, nimmst du natürlich die Bildschirmauflösung. Diese kannst du über Screen.PixelsPerInch oder Monitor.PixelsPerInch abfragen, also Pixel pro Zoll (2.54 cm). Mit folgender Funktion kannst du dann z.B. mm nach Pixel umrechnen:
Code: Alles auswählen
function ScaleMM(mm: Double): Integer;
const
  INCH = 25.4;
begin
  Result := round(mm/INCH * Screen.PixelsPerInch);
end;
Ein Quadrat mit 10 x 10 mm, dessen linke obere Ecke jeweils 20 mm vom (linken/oberen) Rand entfern sind, zeichnest du dann so, z.b. auf einer Paintbox:
Code: Alles auswählen
procedure TForm1.PaintboxPaint(Sender: TObject);
begin
  with Paintbox1.Canvas do begin
    Brush.Color := clWhite;
    FillRect(0, 0, Paintbox1.Width, Paintbox1.Height);
    Pen.Color := clBlack;
    Rectangle(ScaleMM(20), ScaleMM(20), ScaleMM(30), ScaleMM(30));
  end;
end;