Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Linealdarstellung in cm (https://www.delphipraxis.net/30031-linealdarstellung-cm.html)

hansklok 18. Sep 2004 18:21


Linealdarstellung in cm
 
Hallo,

im Delphibeispielordner gibt es einen RTF-Editor, mit einem Lineal. Leider ist dieses in der Maßeinheit Pixel. Kann mir von euch jemand sagen, wie ich das Lineal von Pixel in cm umprogrammieren kan?

Delphi-Quellcode:
const
  RulerAdj = 4/3;       // für Lineal
  GutterWid = 6;

 //Lineal
procedure TForm1.SetupRuler;
var
  I: Integer;
  S: String;
begin
  SetLength(S, 201);
  I := 1;
  while I < 200 do
  begin
    S[I] := #9;
    S[I+1] := '|';
    Inc(I, 2);
  end;
  Lineal.Caption := S;
end;

... Form1.Create ...
SetupRuler; //Lineal
Danke

jfheins 18. Sep 2004 18:27

Re: Linealdarstellung in cm
 
Dafür bräuchtest du die Auflösung und die Monitorgröße.
Dann gilt:
Code:
Pixel * (Anzeigebreite in cm / Anzeigebreite in px) = cm
(Kannst ja den User bitten, er soll seinen Monitor ausmessen :mrgreen: )

hansklok 18. Sep 2004 18:29

Re: Linealdarstellung in cm
 
Tut mir, ich glaube, ich verstehe nicht so richtig.

CalganX 18. Sep 2004 18:33

Re: Linealdarstellung in cm
 
Hi,
das Problem ist, dass je nach Auflösung ein Pixel unterschiedlich groß ist. Wenn du eine Auflösung von 800x600 auf einem 15"-Monitor hast ist ein Pixel wesentlich größer als bei einer 1280x1024-Auflösung auf dem selben Monitor. Und da du die Größe des Monitors nicht herausbekommst, wird das etwas schwierig... ;)

Chris

jfheins 18. Sep 2004 18:36

Re: Linealdarstellung in cm
 
Das oben ist eine Formel, mit der du Pixel in cm umrechnen kannst ...
Delphi-Quellcode:
var
px,                // Anzahl der Pixel, die du umrechnen willst
MonitorCM,         // Breite des Monitors in cm
MonitorPx: integer; // Breite des Monitors in Pixeln
begin
showmessage(inttostr(px)+' Pixel entsprechen bei ihnen '+Px * (MonitorCM / MonitorPx)+' cm');


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz