kostenloser Webspace werbefrei: lima-city


Bild verkleinert anzeigen - Ohne Verzerrung - Wie?

lima-cityForumDie eigene HomepageGrafikdesign

  1. Autor dieses Themas

    radio-happy-life

    radio-happy-life hat kostenlosen Webspace.

    Hi Leutz,

    ich habe verschiedene Bilder mit unterschiedlichen Größen, sie sind jedoch alle größer als 100x100 px..
    Wie kann ich sie nun unverzerrt in einem 100x100 px feld anzeigen?

    Thx für jede Antwort und LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Tja entweder sie sind auch 200x200 oder 154x154 oder so und du kannst sie einfach skalieren, oder du musst was abschnippeln. anders gehts leider nicht. Sobald du beim skalieren das Verhältnis von Breite zu Höhe änderst werden sie verzerrt.
  4. Autor dieses Themas

    radio-happy-life

    radio-happy-life hat kostenlosen Webspace.

    So meine ich das nicht..
    Ich habe ein Bild mit Beispielsweise 1000x900 px.
    Nun verkleiner ich das im selben Verhältnix solange, bis es ins Feld passt. Dieses Feld ist 100x100 px groß und es darf Rand entstehen.
    Die angezeigte Version des Bildes hat 100x90 px.

    Wie mache ich das? (Ohne für jedes Bild die px zu berechnen und es dann mit height und width einzeln einzustellen..)
    LG
  5. @radio-happy-life
    ... verkleiner ich das im selben Verhältnix solange, bis es ins Feld passt.
    ... Wie mache ich das? (Ohne für jedes Bild die px zu berechnen und es dann mit height und width einzeln einzustellen...
    am besten machst das mit den php-grafikfunktionen und css.
  6. l-computerware

    Kostenloser Webspace von l-computerware, auf Homepage erstellen warten

    l-computerware hat kostenlosen Webspace.

    Das geht logisch überhaupt nicht!
    Da ein bestimmtes Verhältnis zwischen x und y besteht.

    Es würde nur gehen, wenn man dann einen weißen Rand hinzufügt.


    Mit freundlichen Grüßen, L-Computerware
  7. Autor dieses Themas

    radio-happy-life

    radio-happy-life hat kostenlosen Webspace.

    [...]Dieses Feld ist 100x100 px groß und es darf Rand entstehen.[...]
    [...]Es würde nur gehen, wenn man dann einen weißen Rand hinzufügt.
    Mit freundlichen Grüßen, L-Computerware


    *hust* :D

    Geht der Rand auch in Schwarz?
    OK, ich guck mir die Funktionen an (:

    LG und danke
  8. og-bergneustadt

    og-bergneustadt hat kostenlosen Webspace.

    Hier ist eine passende php Funktion zu deinen Problem:


    function createThumb( $folder, $file, $thumbWidth )
    {
    // open the directory


    // loop through it, looking for any/all JPG files:

    // parse path for the extension
    $info = pathinfo($folder.'/'.$file);
    // continue only if this is a JPEG image
    if ( strtolower($info['extension']) == 'jpg' )
    {


    // load image and get image size
    $img = imagecreatefromjpeg( $folder.'/'.$file );
    $width = imagesx( $img );
    $height = imagesy( $img );

    // calculate thumbnail size
    $new_width = $thumbWidth;
    $new_height = floor( $height * ( $thumbWidth / $width ) );

    // create a new temporary image
    $tmp_img = imagecreatetruecolor( $new_width, $new_height );

    // copy and resize old image into new image
    imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

    // save thumbnail into a file

    imagejpeg( $tmp_img, $folder.'/s_'.$file);
    }
    }

    Aufruf mit:
    createThumb( 'bilder/winter10', 'winter023.jpg', 100 )
    Werstellt dann aus "winter023.jpg" eine kleine Version mit den Namen: "s_winter023.jpg" welche im selben Ordner ist.


    Funktioniert nur mit jpg bildern
  9. Autor dieses Themas

    radio-happy-life

    radio-happy-life hat kostenlosen Webspace.

    Wow, danke!! (:
    Da kann man ja bestimmt nen paar Formate hinzufügen (:

    LG
  10. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Ähm, wie wärs, wenn du einfach width="100px" dazuschreibst ? Der Browser berechnet dann sofort anhand des ursprünglichen Verhältnisses die korrekte Höhe und umgekehrt. Du brauchst per PHP also nur noch feststellen, welches von beiden Werten der Größere ist und fertig. Alle anderen Funktionen sind absolut überflüssig und fressen nur wieder Ressourcen.

    Edit: Wobei das obige PHP-Skript nichtmal funktioniert, denn zu hohe Bilder, bleiben auch zu hoch.

    Liebe Grüße
    - VampireSilence

    Beitrag zuletzt geändert: 7.1.2010 6:20:05 von vampiresilence
  11. piratenstatistiken

    piratenstatistiken hat kostenlosen Webspace.

    Das Script kann logisch so aufbereitet werden:

    wenn höhe<breite dann $new_height = floor( ... ) ansonsten $new_width = floor (...)

    dann müsste es auch für "zu hohe" Bilder funktionieren, so wie es momentan für "zu breite" Bilder funktioniert.
  12. Vielleicht solltest du aber auch darüber nachdenken, die Bilder verkleinert abzulegen. Wenn sie eh skaliert werden, könntest du sie evtl (mit leichten Einbußen) vorweg verkleinern. Das würde dann auch den Traffic verringern.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!