DIN Formate und freie Formate auf Canvas

Für Fragen von Einsteigern und Programmieranfängern...

DIN Formate und freie Formate auf Canvas

Beitragvon Hartkern » 17. Feb 2017, 18:18 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 :oops: Ich bräuchte die Anzeige in 25% Schritten von 25 bis 200, was bei einer bekannten Formel machbar sein sollte.
Hartkern
 
Beiträge: 66
Registriert: 5. Dez 2015, 20:03
Wohnort: Leipzig
OS, Lazarus, FPC: Win10 IDE 1.6 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 17. Feb 2017, 19:12 Re: DIN Formate und freie Formate auf Canvas

ich finde da immer nur was mit dpi Abhängig

dpi gibt die Anzahl Pixel pro Zoll an, ich denke mal, das du die dpi-Zahlen von deinem Drucker-Treiber holen kannst.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 2540
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Hartkern » 17. Feb 2017, 20:02 Re: DIN Formate und freie Formate auf Canvas

ich will ja nichts drucken...ich will nur maßstabsgerecht auf den Bildschirm ausgeben
Hartkern
 
Beiträge: 66
Registriert: 5. Dez 2015, 20:03
Wohnort: Leipzig
OS, Lazarus, FPC: Win10 IDE 1.6 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 17. Feb 2017, 20:12 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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 2540
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Hartkern » 22. Feb 2017, 19:17 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?
Hartkern
 
Beiträge: 66
Registriert: 5. Dez 2015, 20:03
Wohnort: Leipzig
OS, Lazarus, FPC: Win10 IDE 1.6 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 22. Feb 2017, 19:32 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 ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 2540
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 22. Feb 2017, 19:59 Re: DIN Formate und freie Formate auf Canvas

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;
wp_xyz
 
Beiträge: 1881
Registriert: 8. Apr 2011, 08:01

Beitragvon Hartkern » 22. Feb 2017, 20:29 Re: DIN Formate und freie Formate auf Canvas

vielen Dank!!!!

Screen oder Monitor finde ich unter System?
Hartkern
 
Beiträge: 66
Registriert: 5. Dez 2015, 20:03
Wohnort: Leipzig
OS, Lazarus, FPC: Win10 IDE 1.6 | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 22. Feb 2017, 20:31 Re: DIN Formate und freie Formate auf Canvas

uses Forms;
wp_xyz
 
Beiträge: 1881
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried