Gunther: Mathe Berechnung

Beitrag lesen

@@Gunnar:

Nun willst du nicht beliebige Werte für k zulassen, sondern (offenbar) nur 1, 1.25, 1.5, 1.75, … Also mit 4 multiplizieren, den ganzzahligen Anteil davon nehmen und wieder durch 4 teilen:

[latex]k = \frac{1}{4} \cdot \operatorname{floor} \left( 4 \cdot \sqrt{\frac{A_{max}}{b \cdot h}} \right)[/latex]

Super!
Und dank deiner hervorragenden Erklärung, kann sogar ich die Herleitung nachvollziehen.
Liefert auch das gewünschte Ergebnis - perfekt!

Hier meine Umsetzung in Visual Basic:

  
Dim zoomMax As Double  
zoomMax = (Math.Floor((Math.Sqrt(MaxPixCount / (Image.Width * Image.Height))) * 4) * 0.25) * 100

Was sind "25% Schritte"? "Sc", "hr", "it" und "te"?

Ja, wenn man es hinterher nochmal liest ist die Formulierung unglücklich und irreführend. Gemeint war und ist, dass sich der Zoomfaktor, ausgehend von 1 in 0.25 Schritten erhöht (dazu gibt es einen Schieberegler, der bei Klick diese Schrittweite hat.
Die Berechnung dient eben dazu, wenn eine Grafik geladen wurde, den oberen (Zoom-)Grenzwert festzulegen, da es bei Überschreitung der 300 Mio. Pixel zu einem Fehler kommt.

@all:
Allen Postern meinen besten Dank für eure Hilfe & Unterstützung.

Gruß Gunther