Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Größe von Komponenten in cm (https://www.delphipraxis.net/17298-groesse-von-komponenten-cm.html)

Markus K. 2. Mär 2004 20:09


Größe von Komponenten in cm
 
Hallo,
wie kann ich die Höhe bzw die Länge von einer Komponente (z.B. RichEdit) in cm bestimmen? Habe keine Vorstellungen wie ich dies Errechen kann. Könnte mir jemand mal auf die Sprünge helfen?

Tschüß Markus

Matze 2. Mär 2004 20:11

Re: Größe von Komponenten in cm
 
Das geht nicht so einfach, da die Pixel unterschiedlich breit sind, von Monitor zu Monitor.

Oder meinst du die Höhe der Seite des RichEdits, nachher für den Ausdruck?

Markus K. 2. Mär 2004 20:17

Re: Größe von Komponenten in cm
 
Ich wollte auch die Größe von anderen Komponenten ermitteln(so wie sie dargestellt werden), wie Buttons, Panels, etc. Zu dem möchte ich später auch Komponenten in einer von mir vorgegebenen Größe erstellen (z.B. 5cm x 5cm).

Tschüß Markus

tommie-lie 2. Mär 2004 20:19

Re: Größe von Komponenten in cm
 
Würde es nach dem VGA-Standard gehen, würde es klappen, da hat nämlich jeder Monitor eine Auflösung von 96dpi.
Windows benutzt das heute noch um sowas festzustellen (z.B. im IE wenn mit CSS Angaben in cm angegeben wurden), andere Systeme gehen von 72dpi aus.
Beim heutigen Auflösungswirrwar ist es aber unmöglich, allgemeingültig die größe in cm anzugeben, da werden Monitore mit viel zu hohen oder viel zu niedrigen Auflösungen betrieben, irgendwelche Hersteller erfinden irgendwelche krummen Seitenverhältnisse (1280*1024) die auch auf "normalen" 4:3-Bildschirmen benutzt werden und lauter so Späßchen.

Du könntest aber den Weg gehen, den der Mozilla und viele andere gute Programme gehen: Du zeigst eine Linie von x Pixel an und lässt den Anwender mit Lineal ausmessen, wie lang die Linie in Zentimetern ist. Jetzt weißt du, daß x Pixel z Zentimerter sind, teilst du x durch z hast du die Länge eines Zentimeters in Pixeln, speicherst das in 'ner INI ab und rechnest jedesmal damit, wenn du's brauchst.

Markus K. 2. Mär 2004 20:34

Re: Größe von Komponenten in cm
 
hmm...wird das nicht etwas ungenau?
Wie funktioniert das denn eigentlich bei den QuickReport-Komponenten, dort kann man die Maße in mm angeben.

Tschüß Markus

Matze 2. Mär 2004 20:43

Re: Größe von Komponenten in cm
 
Das sind nicht die Maße, die man am Bildschirm erhält, sondern die, die angeben, wie breit/hoch das beim Drucken herauskommt. ;)

Markus K. 2. Mär 2004 20:58

Re: Größe von Komponenten in cm
 
Habe ich auch gerade gesehen :?
Kann man mit Delphi nicht irgendwie die Höhe eines Pixel auslesen? Oder stehen irgendwelche nützlichen Werte in der Registry?

Tschüß Markus

fkerber 2. Mär 2004 21:00

Re: Größe von Komponenten in cm
 
Hi!

Du müsstest die Auflösung rausfinden und die Bildschirmgröße (also die des Gerätes) und dann rechnen...

Ciao fkerber

Matze 2. Mär 2004 21:01

Re: Größe von Komponenten in cm
 
Nein, woher sollen die werte denn kommen?

Ich kann ja jeden beliebigen Bildschirm anschließen...

Wenn ich einen anschließe mit 640 x 480 (falls es das gibt ;) ), dann ist ein Pixel vielleicht 2 mm groß, bei 1600 x 1200 jedoch nur 0.2 mm.

Nur als Beispiel. ;)

tommie-lie 2. Mär 2004 21:19

Re: Größe von Komponenten in cm
 
Zitat:

Zitat von Markus K.
Kann man mit Delphi nicht irgendwie die Höhe eines Pixel auslesen? Oder stehen irgendwelche nützlichen Werte in der Registry?

Die 96 wird sicherlich irgendwo in der Registry drin stehen. Aber wie oben erklärt, sind die nicht immer richtig. Und solange Windows bei jeder Auflösungsänderung den User auffordert eine Linie abzumessen, werden die Daten, die Windows hergibt, nie immer und überall korrekt sein.

Zitat:

Zitat von Matze
Ich kann ja jeden beliebigen Bildschirm anschließen...

Wenn ich einen anschließe mit 640 x 480 (falls es das gibt ), dann ist ein Pixel vielleicht 2 mm groß, bei 1600 x 1200 jedoch nur 0.2 mm.

Das ist nicht das Problem. Ein 15"-Monitor hat bei 800*600 sicherlich die gleiche relative Auflösung wie ein 21"-Monitor bei 1600*1200 (Zahlen?). Das Problem ist halt, daß die meisten Leute ihren Monitor auf atypischen Auflösungen fahren (wenn ich da so an unsere Schule denke... *g*).


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.
Seite 1 von 2  1 2      

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