Bild Upload und feste Darstellungsgröße

  • Hallo Leute,

    ich habe gerade eine kleine Denkblockade und finde keine Lösung für mein eigentlich simples Problem, evtl. kann mir ja einer von euch den entscheidenden Tipp geben ;)

    Ich habe ein Formular mit einem File-Upload Feld für Bilder dort kann
    ein Bild in bestimmten Formaten und mit einer Max-Size hochgeladen werden.
    Die Auflösung ist hierbei egal also ob 100x100 oder 150x80 oder sonst was, hauptsache die Max-Size wird nicht überschritten.

    Das möchte ich auch so beibehalten, also keine festgelegte Bildgröße wie 120x120.

    Nun möchte ich das Bild im Profil wieder ausgeben, hier sollen die Bilder aber alle in der gleichen Größe ausgegeben werden, also gleiche Breite und Höhe.
    Das Problem ist jetzt natürlich das je nach Ausgangsbild die Bilder verzerrt dargestellt werden.


    Was kann ich tun um reinkommende Bilder mit verschiedenen Bildgrößen in einem einheitlichen Ausgabeformat zu bekommen, möglichst ohne Thumb-Generierung sofern möglich.


    Vielen Dank

  • Versteh ich dich richtig, du willst praktisch nur die Anzeige anpassen, oder ?
    Also im prinzip den width- und heigth-Wert vom Image-Tag ?

    Musst einfach umrechnen. Also z.b. erstmal prüfen ob des Bild höher als breit,
    oder breiter als hoch ist. Die Größere seite verkleinerst dann auf deinen Wert.
    Den Verkleinerungsfaktor merken und auch auf die Höhe anwenden.

    So habs ich jedenfalls mal iwo gemacht :)

  • Wenn dir die Ausmaße des Bildes egal sind, dann wirst du nie ein Bild auf eine feste Größe skalieren können, es sei denn, das Bild hat rein Zufällig das gleiche Verhältnis Breite/Höhe. Du könntest höchstens das Bild auf maximal erlaubte Breite/Höhe verkleinern und dann einen Ausschnitt rausschneiden. Aber ob das unbedingt schön ist...

  • Versteh ich dich richtig, du willst praktisch nur die Anzeige anpassen, oder ?
    Also im prinzip den width- und heigth-Wert vom Image-Tag ?

    Musst einfach umrechnen. Also z.b. erstmal prüfen ob des Bild höher als breit,
    oder breiter als hoch ist. Die Größere seite verkleinerst dann auf deinen Wert.
    Den Verkleinerungsfaktor merken und auch auf die Höhe anwenden.

    So habs ich jedenfalls mal iwo gemacht :)

    Hey danke für die fixe Antwort, aber ganz leuchtet mir das nicht ein.
    Folgendes Beispiel:
    Das Bild soll in 90x90 Ausgeben werden.

    Sagen wir mal das Bild hat folgende Maße B:400 H: 250

    Also das Bild ist Breiter aber wie krieg ich das jetzt mit der width=90 und height=90 "schön" dargestellt?

    Oder ist es einfach nicht möglich?

  • 90x90 ist da nicht möglich....

    du nimmst einfach, dass 90x90 die maximale breite/höhe is.
    da hier die breite des größte is, musst den als ausgangswert nehmen.

    also 400/90 = 4,45
    dann 250/4,45 = 56,18

    hast die maße 90x56,18

    (hoff ich hab mich etz net verrechnet)

  • So, in etwa?

    Wenn Breite > Höhe
    neueBreite = Rahmen
    neueHöhe = runden(Höhe x (Rahmen / Breite))

    für Höhe > Breite
    das ganze halt anpassen

    Also für deine Rechnung:
    Wenn 400 > 250
    neueBreite = 90
    neueHöhe = runden(250 x (90 / 400))

    Sofern ich mich nicht vertan habe :)

    edit: ups hab drivers Beitrag übersehen... sry

    Einmal editiert, zuletzt von mgraf (17. Februar 2010 um 12:10)

  • Hier, vielleicht bringt dir das was - hab ich in meiner letzten Seite gebraucht:

    Damit wird aus deinem wunschbild ein anderes Bild erstellt bei dem du die größe bestimmen kannst, ohne die Proportionen zu verlieren.

    ist zwar nur für jpeg und png ausgelegt, aber so war die Zielsetzung zum Zeitpunkt :rolleyes: