IMAGE-Control: optimale Größe

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.061
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#1
Hallo miteinander,
wie können die Dimensionen für die Erstellung eines IMAGE-Controls so berechnet werden, dass ein gegebenes Bild hinsichtlich seines Seitenverhältnisses und seiner Größe optimal in dem Control dargestellt wird?
Konkretes Bsp.: ein Bild 400 x 250 Pixel soll in dem Controll ohne Skalierung dargestellt werden und so, dass im Control keine Ränder entstehen.

Es ist ja so, dass die Größe und Positionierung von Controls nicht in Pixel, sondern in Dialogeinheiten (Dialogunits) angegeben werden (s. hier). Aber bei der mathematischen Beziehung zwischen Pixel und Dialogunit stehe ich im Moment auf dem Schlauch. Vermutlich spielt auch noch die Skalierung unter Windows eine Rolle. Auf meinen Laptop habe ich z.B. unter "Anzeige anpassen" einen Wert von 125 % eingestellt.

Hat jemand eine Idee?
 

praetor

Mitglied
Dabei seit
24.10.04
Beiträge
2.061
Standort
Berlin
Trophäen
{**!!!}**!!!!! !!!!! !!
#2
Jetzt kann ich mir die Frage selbst beantworten. Ist eigentlich simpel (wenn man mal drauf gekommen ist :)):
Code:
UnitX = Bild_X * g_XUnits / FF_GetSystemMetrics(0)
UnitY = Bild_Y * g_YUnits / FF_GetSystemMetrics(1)
Dabei werden g_XUnits und g_YUnits ermittelt wie hier beschrieben.
UnitX und UnitY sind dann die Werte für die Erstellung des Controls ...
 
Oben