ich suche eine Möglichkeit DIN A3, A4 etc. und frei wählbare Formate auf einer Canvas darzustellen. Wie funktioniert die Umrechnung von Pixel in mm oder cm? ich finde da immer nur was mit dpi Abhängig
DIN Formate und freie Formate auf Canvas
-
Hartkern
- Beiträge: 69
- Registriert: Sa 5. Dez 2015, 20:03
- OS, Lazarus, FPC: Win10 IDE 1.6
- CPU-Target: 64Bit
- Wohnort: Leipzig
DIN Formate und freie Formate auf Canvas
Hallo,
ich suche eine Möglichkeit DIN A3, A4 etc. und frei wählbare Formate auf einer Canvas darzustellen. Wie funktioniert die Umrechnung von Pixel in mm oder cm? ich finde da immer nur was mit dpi Abhängig
Ich bräuchte die Anzeige in 25% Schritten von 25 bis 200, was bei einer bekannten Formel machbar sein sollte.
ich suche eine Möglichkeit DIN A3, A4 etc. und frei wählbare Formate auf einer Canvas darzustellen. Wie funktioniert die Umrechnung von Pixel in mm oder cm? ich finde da immer nur was mit dpi Abhängig
-
Mathias
- Beiträge: 7071
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: DIN Formate und freie Formate auf Canvas
dpi gibt die Anzahl Pixel pro Zoll an, ich denke mal, das du die dpi-Zahlen von deinem Drucker-Treiber holen kannst.ich finde da immer nur was mit dpi Abhängig
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
Hartkern
- Beiträge: 69
- Registriert: Sa 5. Dez 2015, 20:03
- OS, Lazarus, FPC: Win10 IDE 1.6
- CPU-Target: 64Bit
- Wohnort: Leipzig
Re: DIN Formate und freie Formate auf Canvas
ich will ja nichts drucken...ich will nur maßstabsgerecht auf den Bildschirm ausgeben
-
Mathias
- Beiträge: 7071
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: DIN Formate und freie Formate auf Canvas
Du könntest auch alles in ein Bitmap Zeichen und anschliessend skaliert auf dem Form-Canvas ausgeben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
Hartkern
- Beiträge: 69
- Registriert: Sa 5. Dez 2015, 20:03
- OS, Lazarus, FPC: Win10 IDE 1.6
- CPU-Target: 64Bit
- Wohnort: Leipzig
Re: DIN Formate und freie Formate auf Canvas
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?
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?
-
Mathias
- Beiträge: 7071
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: DIN Formate und freie Formate auf Canvas
Normalerweise holt man sich die Auflösung eines Papieres über den Drucker-Treiber.
Was ist dein Ziel, willst du eine Seiten Voransicht machen ?
Was ist dein Ziel, willst du eine Seiten Voransicht machen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: DIN Formate und freie Formate auf Canvas
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: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?
Code: Alles auswählen
function ScaleMM(mm: Double): Integer;
const
INCH = 25.4;
begin
Result := round(mm/INCH * Screen.PixelsPerInch);
end;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;-
Hartkern
- Beiträge: 69
- Registriert: Sa 5. Dez 2015, 20:03
- OS, Lazarus, FPC: Win10 IDE 1.6
- CPU-Target: 64Bit
- Wohnort: Leipzig
Re: DIN Formate und freie Formate auf Canvas
vielen Dank!!!!
Screen oder Monitor finde ich unter System?
Screen oder Monitor finde ich unter System?
Re: DIN Formate und freie Formate auf Canvas
uses Forms;