Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pixel / Twips in Zentimeter umrechnen?

41 views
Skip to first unread message

Sebastian Knecht

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Gibt es eine Möglichkeit, Pixel bzw. Twips in Zentimeter umzurechnen?

Gruss Sebastian

Sebastian Knecht

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Hab's schon gefunden: Ein Zentimeter = 567 Twips, obwohl das bei meinem
Monitor nicht hinzuhauen scheint...


Sven Hammesfahr

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Umrechnung Pixel in Twips =
TwipsPerPixelX bzw. TwipsPerPixelY
Zur Umrechnung sagt die Hilfe:

A twip is a unit of length equal to 1/20 of a printer's point, and a
printer's point is 1/72 of an inch.
There are approximately 1440 twips to a logical inch or 567 twips to a
logical centimeter (the length of a screen item measuring one inch or one
centimeter when printed).

Sollte also kein Problem sein...

sven
sv...@itrain.de


Sebastian Knecht <Sebastia...@Bewag.com> schrieb in im Newsbeitrag:
Oose3U1Y$GA....@cppssbbsa02.microsoft.com...

Peter Götz

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Hallo Sebastian,

> Gibt es eine Möglichkeit, Pixel bzw. Twips in Zentimeter umzurechnen?

dazu musst Du gar nicht rechnen, VB macht das für Dich:
Object.ScaleX und Object.ScaleY können sowas.

Für Abmessungen in der X-Achse:

' 800 Pixel -> Twips
debug.Print form1.ScaleX(800, vbpixels, vbtwips)
' 12000 Twips -> Pixel
debug.Print form1.ScaleX(12000, vbtwips, vbpixels)
' 12000 Twips -> Millimeter
debug.Print form1.ScaleX(12000, vbtwips, vbmillimeters)
'12000 Twips -> Inches
debug.Print form1.ScaleX(12000, vbtwips, vbinches)

Für Abmessungen in der Y-Achse verwendest Du
debug.Print form1.ScaleY(600, vbpixels, vbtwips)
usw.

.ScaleX u. .ScaleY kannst Du mit Formen, Printern und Picturecontrols
verwenden.

Alles weitere findest Du in der OnlineHilfe.

Grüsse aus St.Georgen,
Peter Götz p.g...@gssg.de
www.gssg.de (mit VB-Tips u. Beispielprogrammen)
**______________**_________________**


Sebastian Albrecht

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Das Problem, dass dabei auftritt ist, dass verschiedene Monitore
verschiedene Lochmasken haben und demnach verschiedene Anzahlen von Pixeln
innerhalb eines Zentimeters. Weiter ist schon ein einfacher
Auflösungs-Wechsel fatal, da die Anzahl von Pixel/Zentimeter mit Erhöhung
der Auflösung ebenfalls steigt.

>Gibt es eine Möglichkeit, Pixel bzw. Twips in Zentimeter umzurechnen?


CU Sebastian

K.Klingbeil

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to

Sebastian Knecht schrieb:

> Hab's schon gefunden: Ein Zentimeter = 567 Twips, obwohl das bei meinem
> Monitor nicht hinzuhauen scheint...

Gibt auch keinen Grund, bei einem Monitor hinzuhauen, da Windoof die
Bildschirmauflösing mit standardmäßigen 96 dpi annimmt (kleine Fonts) . Auf
dem Drucker, und dafür ist das ganze ja gedacht, hauts jedenfalls hin...

abgesehen davon, hat der Drucker (und auch jede Form) ein Eigenschaft
"Scalemode", die man
auf vbTwips oder vbMillimeters und noch ein paar Sachen setzen kann und
sich somit die ganze
Rechnere auch schenken kann..


greetz

lu.

Harald M. Genauck

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
Hallo,

> .ScaleX u. .ScaleY kannst Du mit Formen, Printern und Picturecontrols
> verwenden.

Nur mal so gesagt... diese Methoden sind der einzige richtige Weg. Alles
andere (fest codierte Umrechnungfaktoren, irgendwelche sonstigen Annahmen
usw.) führt immer wieder zu Problemen. Schade ist nur, dass diese Methoden
nicht von VB als "Standalone"-Funktionen zur Verfügung gestellt werden,
sondern immer ein Objekt wie ein Form (siehe oben, und auch: UserControl,
UserDocument, PropertyPage) erfordern...

Viele Grüße

Harald M. Genauck

ABOUT Visual Basic - das Webmagazin
http://www.aboutvb.de


Peter Götz

unread,
Jan 20, 2000, 3:00:00 AM1/20/00
to
To: Sebastian Knecht
Subject: Re: Pixel / Twips in Zentimeter umrechnen?
Sent: Thu, 20 Jan 2000 17:11:59 +0100

did not reach the following recipient(s):

Sebastia...@bewag.com on Thu, 20 Jan 2000 17:20:24 +0100
The recipient name is not recognized

Warum ???

Sebastian Knecht

unread,
Jan 21, 2000, 3:00:00 AM1/21/00
to
Es heißt Knecht.S...@Bewag.com

Gruss


Peter Götz schrieb in Nachricht ...

Harald M. Genauck

unread,
Jan 21, 2000, 3:00:00 AM1/21/00
to
> >Schade ist nur, dass diese Methoden
> >nicht von VB als "Standalone"-Funktionen zur Verfügung gestellt werden,
> >sondern immer ein Objekt wie ein Form (siehe oben, und auch: UserControl,
> >UserDocument, PropertyPage) erfordern...
>
> Stimmt schon, aber ab damit in eine DLL, GlobalMultiUse, gegessen.
>
> Zumindest fuer Real World Applications ist das IMHO akzeptabel (ich
> verwende ohnehin in fast allen echten Projekten mindestens eine
> GlobalMultiUse-DLL mit haeufig genutzten Funktionen und Funktionen,
> die in einer DLL einfach beser untergebracht sind).

Stimmt - ist ein sehr brauchbarer Weg.

Nur damit niemand auf falsche Gedanken kommt: Eine solche Hilfs-DLL, die
lokale Rechnergegebenheiten betrifft, sollte nicht als DCOM-Komponente auf
einem entfernten Rechner laufen... ;-)

Peter Götz

unread,
Jan 21, 2000, 3:00:00 AM1/21/00
to
Hallo Sebastian,

in Deiner Absenderangabe steht's aber immer noch verkehrt herum.
Ändere das doch mal.

Sebastian Knecht

unread,
Jan 21, 2000, 3:00:00 AM1/21/00
to
Ich wusste nicht, dass es an mir liegt ... danke für den Hinweis!

Gruss


Peter Götz schrieb in Nachricht <#7WXY1$Y$GA.378@cppssbbsa05>...

0 new messages