PDA

Vollständige Version anzeigen : Twips & Pixel & Zoll & pt !!!!! H I L F E gesucht....


trigenimus
01.05.2001, 09:48
Hallo miteinander.. bitte um Hilfestellung zu
wie kann ich zb. Auflösung 800 x 600 oder 1024 x 768 ( Angabe natürlich in Pixel ) dies in ZOLL umrechnen . Mit Vba über Api komme ich auf Twips ( ich nehme an also per Pixel soundsoviele Twips ) natürlich abhängig vom Monitor oder ???? ( oder nicht ?? ) wenn ich jetzt twips habe , wie kann ich die auf zoll umrechnen , geht das ??
wenn ja wie ?
Noch eine Frage : zb. bei Linien gibts keine Twips sondern pt ( Punkte ) , lt. Hilfe sind dies 1 Pt. = 1/72 Zoll = 0,0353cm.
wie kann ich die auf twips umrechen ??
Eigentlich möchte ich nur auf einen gemeinsamen Nenner für beide Einheiten kommen
Woher kommt beim Api / Pixel in Twips die Zahl 1440 daher..

Vielen Dank für eine Erklärung , ich strapaz. meine Gehirnzellen ( anscheinend zu wenige ) schon länger mit diesem Thema , komme aber nicht wirklich weiter.

.. möchte über die Twips oder Zoll ( hori / bzw vert. ) die Monitorgrösse berechnen ...

DANKE

trigenimus
01.05.2001, 10:55
Noch was
zb 1156 x 864 Pixel zb. = 17280 x 12960 Twips = 864 x 648 pt
zb 1024 x 768 Pixel zb. = 15360 x 11520
Twips = 768 x 576 pt

so: zu 1) wenn ich sage 1 point = 1/72 inch
würde bedeuten 864/72 usw 12 x 9 inch ist meine Auflösung
zu 2) 10,66 x 8 inch ist meine
Auflösung

d.h mein Seitenverhältnis = 1 zu 1,33 ist ok...

Aber wie weiss ich wie gross ein inch auf meinem monitor ist ??????????????????

Weiss keiner eine Antwort , bitte einen
Denk - Tritt ...

Günni
01.05.2001, 11:12
Wenn Du die Twips schon hast, ist es relativ einfach:

1 cm = 567 Twips
1 Zoll = 1440 Twips

a
01.05.2001, 11:41
<font color="#000000" size="2" face="Tahoma">Hallo,</font><font color="#000000" size="2" face="Tahoma">

diese Formel zeigt den Zusammenhang zwischen Twips (= twentieth of a point, also 1/20 pt), Points (= 1/72 Inch) und Inch (= Zoll, Zoll = 2,54 cm):

1 TWIP = 1/20 POINT = 1/20 * (1/70 INCH) = 1/1440 INCH
Über die API-Funktionen:

</font>
<font color="#000000" size="2" face="Courier New"><em>'Deklarationsteil:
'Funktionen</em>
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal lngIndex As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
<em>'Konstanten</em>
Private Const LOGPIXELSX = 88
Private Const LOGPIXELSY = 90

<em>'Aufruf innerhalb einer Prozedur:</em>
Dim hDC As Long
Dim Puffer
Dim lngTwpPixX As Long
Dim lngTwpPixY As Long

<em>'Handle eines Fenster ermitteln (normalerweise nimmt man das Access-Hauptfenster)</em>
hDC = GetDC(Application.hWndAccessApp)
<em>'Freigabe des Device-Kontext ist sehr wichtig, da es knappe Ressourcen blockiert,
'es könnte sonst beim Bildschirmaufbau Probleme geben</em>
Puffer = ReleaseDC(Application.hWndAccessApp)

<em>'Anzahl der Twips pro Pixel (X-Achse)</em>
lngTwpPixX = 1440/GetDeviceCaps(hDC, LOGPIXELSX)
<em>'Anzahl der Twips pro Pixel (Y-Achse)</em>
lngTwpPixY = 1440/GetDeviceCaps(hDC, LOGPIXELSY)</font>

<font color="#000000" size="2" face="Tahoma">Da sich die Auflösung wohl nicht während der Laufzeit des Programms ändert, ist es meist nur nötig, die Ermittlung der Auflösung bei Programmstart durchzuführen.

Gruß

Alexander Jan Peters</p>



Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></p></font>