Seite 1 von 1
Bild größe...
Verfasst: 30.10.2008 12:28
von Tsuki-Namida
Hallo,
ich stehe gerade vor einem Matematischen Problem...
und zwar muss ich bilder von unbekannter größe verkleinern...
ich muss das längste mass auf ein bestimmtes bringen und das kürzere prozentual mit verkleinern....
ich weis nur nicht wie ich das rechnen muss damit das auch so geht....
hat von euch jemand ne idee???
Verfasst: 30.10.2008 12:31
von Kaeru Gaman
Du rechnest für beide Seiten den Faktor bzw. Teiler aus, um auf das jeweilige Containermaß zu kommen.
den kleineren Faktor bzw. größeren Teiler nimmst du, dann ist die andere Seite innerhalb der Grenzen.
Verfasst: 30.10.2008 12:38
von Tsuki-Namida
Kaeru Gaman hat geschrieben:Du rechnest für beide Seiten den Faktor bzw. Teiler aus, um auf das jeweilige Containermaß zu kommen.
den kleineren Faktor bzw. größeren Teiler nimmst du, dann ist die andere Seite innerhalb der Grenzen.
oaky -.-
ich weis leider nicht genau was du damit sagen möchtest -.-
Verfasst: 30.10.2008 12:59
von Froggerprogger
Hab das mal gecodet und ausreichend kommentiert:
Code: Alles auswählen
;#### Eingabedaten
oldW.l = 200 ; alte Breite
oldH.l = 1000 ; alte Höhe
newLongest.l = 50 ; neue längere Seite
;#### Ausgabedaten
newW.l ; neue Breite
newH.l ; neue Höhe
;#### Berechnung
; wir tun zunächst, als wäre immer oldW <= oldH
If oldW < oldH
Swap oldW, oldH
swapped.l = #True
Else
swapped.l = #False
EndIf
; wir wollen das Bildverhältnis oldW zu oldH behalten, also
aspect.f = 1.0 * oldH / oldW
newW = newLongest
newH = newW * aspect ; hier kann gerundet werden
; wir müssen nun ggf. beidemale W mit H vertauschen
If swapped
Swap oldW, oldH
Swap newW, newH
EndIf
;#### Ausgabe
Debug "oldW: "+Str(oldW)
Debug "oldH: "+Str(oldH)
Debug "newLongest: "+Str(newLongest)
Debug "newW: "+Str(newW)
Debug "newH: "+Str(newH)