#1 11. März 2007 Thumbnail Guten Tag zusammen ich habe folgendes Problem und zwar nöchte ich gerne Thumbnails erzeugen dies geht auch ohne Probleme jedoch kann mann nur die Breite angeben des erstellendem Thumbnail ich möchte aber auch eine max. Höhe angeben weil die Thumbnail sonst alles unterschiedlich groß sind. Das Heißt im Klartext das ich eine max. breite und eine max. Höhe gerne angeben will. Bisher gebe ich die Breite an und php errechnet die höhe so das das bild sich nicht verzerrt. Ich habe mir das so gedacht das ich beides angeben kann wenn es sich verzerrt soll er dann die nächst mögliche kleinere größe nehmen damit die bildverhältnisse passen..kann mir dabei einer helfen? $OriginalBreite = $Bilddaten[0]; $OriginalHoehe = $Bilddaten[1]; $ThumbnailBreite = 80; if($OriginalBreite < $ThumbnailBreite) { $ThumbnailBreite=$OriginalBreite; } $Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite; $ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor); + Multi-Zitat Zitieren
#2 11. März 2007 AW: Thumbnail PHP: $OriginalBreite = $Bilddaten [ 0 ]; $OriginalHoehe = $Bilddaten [ 1 ]; $ThumbnailBreite = 80 ; if( $OriginalBreite < $ThumbnailBreite ){ $ThumbnailBreite = $OriginalBreite ;} $Skalierungsfaktor = $OriginalBreite / $ThumbnailBreite ; $ThumbnailHoehe = intval ( $OriginalHoehe / $Skalierungsfaktor ); if( $ThumbnailHoehe > $max_hoehe ){ $ThumbnailHoehe = $max_hoehe ; $ThumbnailBreite = intval ( $OriginalBreite * $ThumbnailHoehe / $OriginalHoehe );} so in etwa? + Multi-Zitat Zitieren
#3 12. März 2007 AW: Thumbnail dies hat auch nicht geklappt hast du eventuell eine andere lösung oder einen anderen script? mfg + Multi-Zitat Zitieren
#4 12. März 2007 AW: Thumbnail hast du $max_hoehe auch gesetzt mein thumbnail script sieht so aus (hab noch die abfrage eingebaut): PHP: <? php function mk_tn ( $pic , $dir , $calc , $new ){ $max_height = 200 ; // maximale hoehe if( $calc == 'height' OR $calc == 'width' ) { // Bilddaten feststellen $size = getimagesize ( $dir . '/' . $pic ); $width = $size [ 0 ]; $height = $size [ 1 ]; if( $calc == 'height' ) { $new_height = intval ( $height * $new / $width ); $new_width = $new ; } else { $new_width = intval ( $width * $new / $height ); $new_height = $new ; } if( $new_height > $max_height ) // abfrage nach zu großer hoehe { $new_height = $max_height ; $new_width = intval ( $width * $new_height / $height ); } if(! file_exists ( $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic )) { if( $size [ 2 ] == 2 ) // kann man natuerlich noch fuer gif etc erweitern { // JPG $oldpic = imagecreatefromjpeg ( $dir . '/' . $pic ); $newpic = imagecreatetruecolor ( $new_width , $new_height ); imagecopyresampled ( $newpic , $oldpic , 0 , 0 , 0 , 0 , $new_width , $new_height , $width , $height ); imagejpeg ( $newpic , $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ); $tn_path = $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ; return $tn_path ; } else { return FALSE ; } } else { $tn_path = $dir . '/tn_' . $new_width . 'x' . $new_height . '_' . $pic ; return $tn_path ; } } else { return FALSE ; }} ?> + Multi-Zitat Zitieren