Wie Scrollbalken bei Vergrößerung umrechnen?

Anfängerfragen zum Programmieren mit PureBasic.
Syntacks_Error
Beiträge: 107
Registriert: 08.03.2009 16:08

Wie Scrollbalken bei Vergrößerung umrechnen?

Beitrag von Syntacks_Error »

Damit quäle ich mich seit Tagen:

Im einem Scrollareagadget steht ein Bild, ein Objekt im Bild (weiteres Imagegadget) steht irgendwo im Fenster. Fenstergroße, x/y-Position des Objekts, Bildgroeße und Werte der Scrollbalken sind bekannt. Jetzt wird das Bild um den Faktor 2 (z.B) vergrößert. Wie errechne ich den Wert, auf den ich die Scrollbalken nach der Vergrößerung des Bildes enstellen muß, damit das Objekt im vergrößerten Bild auf der selben Position im Fenster steht?

Schreckliche Sache, ich bekomme es einfach nicht hin. For ein paar Tagen waren meine Haare noch blond ;-)
Rokur
Beiträge: 167
Registriert: 29.12.2005 09:58
Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)

Re: Wie Scrollbalken bei Vergrößerung umrechnen?

Beitrag von Rokur »

Aktuelle Position des Scrollbalken in Prozent vom Maximalwert ausrechnen, das Bild zoomen und anschließend den gemerkten Prozentwert vom neuen Maximalwert berechnen und Scrollbalken darauf einstellen.
WinXP 32 Bit, PureBasic 4.40 (x86)
Syntacks_Error
Beiträge: 107
Registriert: 08.03.2009 16:08

Re: Wie Scrollbalken bei Vergrößerung umrechnen?

Beitrag von Syntacks_Error »

Funktioniert leider nicht. Wenn der Scrollbalken z.B. auf "0" steht und sich das Objekt am rechten Fensterrand befindet, steht der Scrollbalken nach der Vergrößerung immer noch auf "0", aber das Objekt ist irgendwo weit rechts vom Fensterrand. Also muß ich außerdem noch die urspüngliche Position auf dem Fenster berücksichtigen, ich weiß aber nicht wie. Der ursprüngliche x/y-wert * Vergrößerung oder so ist es jedenfalls nicht. Scheint nicht-linear zu sein, was dafür sprechen könnte, daß es auch etwas mit dem maximalen Scrollwert (= Bildbreite - Fensterbreite) zu tun hat?
Antworten